gpt4 book ai didi

android - java.lang.IllegalStateException?

转载 作者:行者123 更新时间:2023-11-29 02:33:08 24 4
gpt4 key购买 nike

我每天都会在我的一个应用程序的 google play 控制台上收到崩溃报告。

崩溃日志是:

java.lang.IllegalStateException: 
at android.graphics.Bitmap.checkRecycled (Bitmap.java:394)
at android.graphics.Bitmap.writeToParcel (Bitmap.java:1599)
at miui.security.ISecurityManager$Stub$Proxy.saveIcon (ISecurityManager.java:1505)
at miui.security.SecurityManager.saveIcon (SecurityManager.java:275)
at com.miui.internal.os.Native.invoke (Native.java)
at miui.reflect.Method.invoke (Method.java:120)
at miui.content.res.ThemeRuntimeManager.saveIconInner (ThemeRuntimeManager.java:185)
at miui.content.res.ThemeRuntimeManager.-wrap1 (SourceFile)
at miui.content.res.ThemeRuntimeManager$ThemeServiceThread.run (ThemeRuntimeManager.java:159)

我没有在我的应用程序中使用任何回收位图。我没有在 intent 中打包任何 bitmap。所以,无法找到崩溃的位置。如果有人知道如何获取错误位置/行,请提供帮助。

我正在像这样使用 Picasso 加载已安装的应用程序图标:

  Picasso
.with(activity.getApplicationContext())
.load(IconRequestHandler.getUri(appsListItems.get(position).getPackageName()))
.fit()
.error(R.drawable.ic_default)
.placeholder(R.drawable.ic_default)
.into(holder.icon);

最佳答案

经过排查,发现是调用BitmapDrawable.getBitmap方法的问题。对我来说,将 Drawable 转换为 Bitmap 的最简单解决方案是:

Drawable d = packageManager.getApplicationIcon("com.example.appPackage");
Bitmap b = Bitmap.createBitmap(d.getIntrinsicWidth(), d.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(b);
d.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
d.draw(canvas);

在小米设备上运行良好。

关于android - java.lang.IllegalStateException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48539299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com