有时候,我开始了Activity我的应用程序,或者在快速切换Fragment的A S ViewPager是在特定的Activity,我有DeadObjectException这样的:
W/ActivityManager( 669): android.os.DeadObjectException
W/ActivityManager( 669): at android.os.BinderProxy.transact(Native Method)
W/ActivityManager( 669): at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:660)
W/ActivityManager( 669): at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:776)
W/ActivityManager( 669): at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2501)
W/ActivityManager( 669): at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:2375)
W/ActivityManager( 669): at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2040)
W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:9667)
W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:9560)
W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:10205)
W/ActivityManager( 669): at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:9756)
W/ActivityManager( 669): at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86
Run Code Online (Sandbox Code Playgroud)
和应用程序崩溃.我也有一些像这样的不寻常的日志:
F/libc (24088): Fatal signal 11 (SIGSEGV) at 0x00000020 (code=1), thread 24115 (Thread-1047)
I/DEBUG (23974): *** *** *** *** *** …Run Code Online (Sandbox Code Playgroud) 我已经成功完成了一个android项目的实现,并开始测试应用程序的内存泄漏.有时候,我在应用程序中长途旅行后会获得deadobject异常并释放所有内存分配.我怎样才能发现这个问题?我已经对DDMS工具进行了一些研究来检测内存泄漏,由于我不知道DeadObjectExeption,我不知道从哪里开始.
提前致谢..
我看到在崩溃中报告了崩溃,其中有一个堆栈跟踪,没有提到我的应用程序代码.
我在com.google.android.gms中看到了DeadObjectException,并且在删除侦听器时触发了崩溃.
此外,每次我的应用程序启动时,我都会获得安装程序以进行日志记录,即
packageManager.getInstallerPackageName(my-package-name)
Run Code Online (Sandbox Code Playgroud)
此调用没有与回调相关联的回调.
主要在Lollipop和Kitkat上观察到崩溃,尽管很少有Marshmallow和Nougat用户也经历过崩溃.
有没有人经历类似的事情?
Fatal Exception: java.lang.RuntimeException: android.os.DeadObjectException
at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1632)
at com.google.android.gms.common.zze.zzl(Unknown Source)
at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
at com.google.android.gms.internal.zzpv.begin(Unknown Source)
at com.google.android.gms.internal.zzqa.zzc(Unknown Source)
at com.google.android.gms.internal.zzpp.onConnectionSuspended(Unknown Source)
at com.google.android.gms.common.internal.zzk$1.onConnectionSuspended(Unknown Source)
at com.google.android.gms.common.internal.zzd$zzd.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5438)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Binder.java)
at android.os.BinderProxy.transact(Binder.java:496)
at android.content.pm.IPackageManager$Stub$Proxy.getPackageInstaller(IPackageManager.java:4229)
at android.app.ApplicationPackageManager.getPackageInstaller(ApplicationPackageManager.java:1629)
at com.google.android.gms.common.zze.zzl(Unknown Source)
at com.google.android.gms.common.GoogleApiAvailability.getInstance(Unknown Source:8000)
at com.google.android.gms.internal.zzpy.zzc(Unknown Source:24000)
at com.google.android.gms.internal.zzpv.begin(Unknown Source)
at com.google.android.gms.internal.zzqa.zzc(Unknown …Run Code Online (Sandbox Code Playgroud) 一旦我想要显示一个小部件并开始收听,我就会得到以下异常:
// the relevant stack trace, the rest is comming from my code
// before the code line I posted below
java.lang.RuntimeException: system server dead?
at android.appwidget.AppWidgetHost.startListening(AppWidgetHost.java:189)
at com.my.app.utils.WidgetUtil.a(SourceFile:231)
...
android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:503)
at com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.startListening(IAppWidgetService.java:481)
at android.appwidget.AppWidgetHost.startListening(AppWidgetHost.java:185)
at com.my.app.utils.WidgetUtil.a(SourceFile:231)
...
Run Code Online (Sandbox Code Playgroud)
我的代码中的源代码如下:
mAppWidgetManager = AppWidgetManager.getInstance(context);
mAppWidgetHost = new AppWidgetHost(context, R.string.app_name);
mAppWidgetHost.startListening(); // <= this line leads to the crash
Run Code Online (Sandbox Code Playgroud)
意见
有谁知道可能导致这种情况的原因是什么?这是我可以在我的应用程序中解决的问题吗?用户说小部件在他的发射器中正常工作......
该代码对于低于 API28 的设备运行良好,对于高于或 Api28 的设备则失败。调试器不会显示引发错误的代码部分。
抛出错误的部分是在网络浏览器和视频播放器的意图期间。
我已经尝试过所有低于 API28 的 Android 设备,并且代码工作得很好。
hRecycler.read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Toast.makeText(context,url,Toast.LENGTH_SHORT).show();
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
context.startActivity(i);
}
});
@Override
public void onSuccess(VimeoVideo video) {
String streamlink = (String)video.getStreams().values().toArray()[0];
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse(streamlink);
intent.setDataAndType(data, "video/mp4");
context.startActivity(intent);
}
@Override
public void onFailure(Throwable throwable) {
Toast.makeText(context,"Problem withlink",Toast.LENGTH_SHORT).show();
}
RemoteException occurs on reporting focusChanged, w=Window{bd21bfc u0 com.example.android.play_api/com.example.android.play_api.TestimonyActivity EXITING} android.os.DeadObjectException
android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:1143)
at …Run Code Online (Sandbox Code Playgroud)