Android:应用程序在移动到后台时崩溃

2024-04-08

我面临的问题是,当我在应用程序位于前台时按下主页按钮时,应用程序会因抛出 AppCompat 不可序列化异常而崩溃。这是异常的堆栈跟踪。 请提出解决方案。我没有使用任何不可序列化的自定义数据类型。这是导致问题的 Android 视图

FATAL EXCEPTION: main
                                                  java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.test.XYZFragment)
                                                        at android.os.Parcel.writeSerializable(Parcel.java:1285)
                                                        at android.os.Parcel.writeValue(Parcel.java:1233)
                                                        at android.os.Parcel.writeMapInternal(Parcel.java:591)
                                                        at android.os.Bundle.writeToParcel(Bundle.java:1646)
                                                        at android.os.Parcel.writeBundle(Parcel.java:605)
                                                        at android.support.v4.app.FragmentState.writeToParcel(Fragment.java:137)
                                                        at android.os.Parcel.writeTypedArray(Parcel.java:1102)
                                                        at android.support.v4.app.FragmentManagerState.writeToParcel(FragmentManager.java:385)
                                                        at android.os.Parcel.writeParcelable(Parcel.java:1254)
                                                        at android.os.Parcel.writeValue(Parcel.java:1173)
                                                        at android.os.Parcel.writeMapInternal(Parcel.java:591)
                                                        at android.os.Bundle.writeToParcel(Bundle.java:1646)
                                                        at android.os.Parcel.writeBundle(Parcel.java:605)
                                                        at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:2613)
                                                        at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3232)
                                                        at android.os.Handler.handleCallback(Handler.java:730)
                                                        at android.os.Handler.dispatchMessage(Handler.java:92)
                                                        at android.os.Looper.loop(Looper.java:176)
                                                        at android.app.ActivityThread.main(ActivityThread.java:5419)
                                                        at java.lang.reflect.Method.invokeNative(Native Method)
                                                        at java.lang.reflect.Method.invoke(Method.java:525)
                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
                                                        at dalvik.system.NativeStart.main(Native Method)
                                                     Caused by: java.io.NotSerializableException: android.support.v7.widget.AppCompatAutoCompleteTextView
                                                        at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364)
                                                        at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
                                                        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
                                                        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
                                                        at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:979)
                                                        at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:368)
                                                        at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1074)
                                                        at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1404)
                                                        at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671)
                                                        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517)
                                                        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481)
                                                        at android.os.Parcel.writeSerializable(Parcel.java:1280)
                                                        at android.os.Parcel.writeValue(Parcel.java:1233) 
                                                        at android.os.Parcel.writeMapInternal(Parcel.java:591) 
                                                        at android.os.Bundle.writeToParcel(Bundle.java:1646) 
                                                        at android.os.Parcel.writeBundle(Parcel.java:605) 
                                                        at android.support.v4.app.FragmentState.writeToParcel(Fragment.java:137) 
                                                        at android.os.Parcel.writeTypedArray(Parcel.java:1102) 
                                                        at android.support.v4.app.FragmentManagerState.writeToParcel(FragmentManager.java:385) 
                                                        at android.os.Parcel.writeParcelable(Parcel.java:1254) 
                                                        at android.os.Parcel.writeValue(Parcel.java:1173) 
                                                        at android.os.Parcel.writeMapInternal(Parcel.java:591) 
                                                        at android.os.Bundle.writeToParcel(Bundle.java:1646) 
                                                        at android.os.Parcel.writeBundle(Parcel.java:605) 
                                                        at android.app.ActivityManagerProxy.activityStopped(ActivityManagerNative.java:2613) 
                                                        at android.app.ActivityThread$StopInfo.run(ActivityThread.java:3232) 
                                                        at android.os.Handler.handleCallback(Handler.java:730) 
                                                        at android.os.Handler.dispatchMessage(Handler.java:92) 
                                                        at android.os.Looper.loop(Looper.java:176) 
                                                        at android.app.ActivityThread.main(ActivityThread.java:5419) 
                                                        at java.lang.reflect.Method.invokeNative(Native Method) 
                                                        at java.lang.reflect.Method.invoke(Method.java:525) 
                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 
                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 
                                                        at dalvik.system.NativeStart.main(Native Method) 

我搜索了一下并找到了解决方案,当移动到后台时,默认情况下它正在调用方法onSaveInstanceState用于保存我的片段的状态。我所做的只是重写该方法并注释超级方法的调用,以便它不会保存应用程序状态,因此不需要可序列化的对象。

@Override
public void onSaveInstanceState(Bundle outState) {
  //Do not call super class method here.
  //super.onSaveInstanceState(outState);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:应用程序在移动到后台时崩溃 的相关文章

  • Android 通知进度条冻结

    这是我正在使用的代码 http pastebin com 3bMCKURu http pastebin com 3bMCKURu 问题是 一段时间后 文件变得更重 通知栏下拉速度变慢 最后它就冻结了 你的通知太频繁了 这就是它冻结的原因 让
  • 从 Throwable 获取错误代码 - Android

    我怎样才能从错误代码可投掷 https developer android com reference java lang Throwable html public void onFailure Throwable exception 我
  • 导航组件重复 NavArgs 的问题

    我有一个片段 class SomeFragment private val args by navArgs
  • Android SoundPool 堆限制

    我正在使用 SoundPool 加载多个声音剪辑并播放它们 据我所知 它的功能 100 正确 但在 load 调用期间 我的日志中充斥着以下内容 06 09 11 30 26 110 ERROR AudioCache 23363 Heap
  • 如何从 SQLite 获取记录总数

    我正在尝试从 Sqlite DB 获取行的总数 以下是我想要做的代码片段 我不知道我在这里做错了什么 public static int getTotalCount Context context Cursor c null try c g
  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • (Ionic 2)尝试回退到 Cordova-lib 执行时发生错误:TypeError:无法读取未定义的属性“then”

    Edit 使用 ionic 2 时会发生这种情况 我知道它还不稳定 但我认为可能有一些解决方案 因为其他人似乎没有遇到这个问题 Edit end 由于某种原因 我在尝试使用 ionic build android 和 ionic build
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • 如何在 sqlite 中将 2 列合并为新列

    我有一个包含 3 列的表 我必须将 2 列中的值按降序排列到一列中 A B C z 1 2 f 5 7 s 9 5 使用此示例 输出会将 B 列和 C 列中的值放入其中 如下所示 A B s 9 f 7 f 5 s 5 z 2 z 1 我当
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 调节麦克风录音音量

    我们正在尝试调整录音时的音量级别 麦克风似乎非常敏感 会接收到很多静电 我们查看了 setVolumeControlStream 但找不到传入其中来控制麦克风的流 将您的音频源设置为 MIC using MediaRecorder Audi
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • 通过 ADB 拔出设备:“找不到服务”

    我必须测试我的应用程序在打瞌睡模式下的行为 根据文档 https developer android com training monitoring device state doze standby html testing doze 我
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • Android:有没有办法以毫安为单位获取设备的电池容量?

    我想获取设备的电池容量来进行一些电池消耗计算 是否可以以某种方式获取它 例如 三星 Galaxy Note 2 的电池容量为 3100mAh 谢谢你的帮助 知道了 在 SDK 中无法直接找到任何内容 但可以使用反射来完成 这是工作代码 pu
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 找到 Android 浏览器中使用的 webkit 版本?

    有没有办法知道某些特定手机上的 Android 浏览器使用的是哪个版本的 webkit 软件 如果有一个您可以浏览以获取该信息的 URL 那就太好了 但任何其他方式也很好 如果你知道 webkit 版本 你就知道 html5 支持多少 至少
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项

随机推荐