Android 每次程序启动时显示的可绘制图像分辨率密度减半

Android 每次程序启动时显示的可绘制图像分辨率密度减半,android,resolution,drawable,Android,Resolution,Drawable,我有一个Android应用程序,它既使用自己的资源文件夹中的drawables,也使用通过共享用户id链接的包的资源文件夹中的drawables 每次运行应用程序时,我面临的是只有自己的资源**的drawables像素密度降低(导致插值伪影),而那些链接的***看起来正常 大约在第10次执行应用程序时,它会崩溃*。 然后,第一次加载将以原始密度显示所有图像 该应用程序基于SDK版本1.6,没有特定的密度相关资源,这意味着严格设计为320 x 480px。 该问题既不会出现在显示大小与上述匹配的设

我有一个Android应用程序,它既使用自己的资源文件夹中的drawables,也使用通过共享用户id链接的包的资源文件夹中的drawables

每次运行应用程序时,我面临的是只有自己的资源**的drawables像素密度降低(导致插值伪影),而那些链接的***看起来正常

大约在第10次执行应用程序时,它会崩溃*。 然后,第一次加载将以原始密度显示所有图像

该应用程序基于SDK版本1.6,没有特定的密度相关资源,这意味着严格设计为320 x 480px。 该问题既不会出现在显示大小与上述匹配的设备上,也不会出现在同时具有匹配和更大显示大小的仿真器上。在最后一种情况下,图像被正确缩放以适合

我不知道从哪里(在代码中)开始查找该bug的原因

提前感谢您的任何提示


编辑:
我还应该提到,在重新加载应用程序时,几个对话框(例如,
ProgressDialog
)的大小是以前的一半

*应用程序崩溃时的日志输出:
ERROR/AndroidRuntime(23632):致命异常:main
ERROR/AndroidRuntime(23632):java.lang.RuntimeException:无法启动活动组件信息{com.myapp/com.myapp.Paketliste}:android.view.InflateException:二进制XML文件行#20:膨胀类时出错
错误/AndroidRuntime(23632):由以下原因引起:android.view.InflateException:二进制XML文件行#20:膨胀类时出错
错误/AndroidRuntime(23632):由以下原因引起:java.lang.reflect.InvocationTargetException
错误/AndroidRuntime(23632):由以下原因引起:android.content.res.Resources$NotFoundException:文件res/drawable/buttons.png来自可绘图资源ID#0x7f020016
错误/AndroidRuntime(23632):原因:java.lang.IllegalArgumentException:宽度和高度必须大于0
WARN/ActivityManager(2461):强制完成活动com.myapp/.Paketliste


**这些行加载的图像如上所述:
***加载显示时没有问题的图像:
我在这里找到了一个帖子,其中一个家伙可能有同样的问题(并找到了解决方案):


(通过这个答案:)

我在这里找到了一个帖子,其中一个家伙可能有同样的问题(并找到了解决方案):


(通过此答案:)

您是否可以发布代码,其中1)将资源加载到内存中,2)将图像资源设置为ImageView。我只是想澄清一下——你只是在屏幕更大的设备上体验到这种行为?每次重新加载应用程序时,情况是否会变得更糟?谢谢,Joseph!是的,我没有在一个和布局一样大的屏幕上体验到这一点。是的,每次重新加载都会变得越来越糟糕(图像分辨率和对话框大小减半)。这最终会导致崩溃。您能否发布代码,其中1)将资源加载到内存中,2)将图像资源设置为ImageView。我只是想澄清一下——你只是在屏幕更大的设备上体验到这种行为?每次重新加载应用程序时,情况是否会变得更糟?谢谢,Joseph!是的,我没有在一个和布局一样大的屏幕上体验到这一点。是的,每次重新加载都会变得越来越糟糕(图像分辨率和对话框大小减半)。这最终导致崩溃。
ImageView imageView_IconOfAnotherPackage = (ImageView) row
  .findViewById(R.id.paketliste_installed);

imageView_IconOfAnotherPackage
  .setImageResource(R.drawable.default_icon);
imageView_IconOfAnotherPackage
  .setImageDrawable(this
    .getPackageManager()
    .getResourcesForApplication('com.myotherapp')
    .getDrawable(0x7f020001)
  );