设置BitmapDrawable tileMode使应用程序重新启动

时间:2016-08-31 02:25:34

标签: android android-drawable android-bitmap bitmapdrawable

虽然在大多数设备上我的应用程序工作正常,在某些设备上(LG G3,三星Galaxy S6到目前为止)我遇到了一个奇怪的错误,我无法真正展开:

tileMode(通过XML或以编程方式)设置为clamp上的任何内容(repeat / mirror / BitmapDrawable),即背景信息布局,使背景完全变黑 - 应用程序在约20秒后重新启动 - 没有任何出错的迹象(LogCat中没有消息,我的活动的这些回调都没有被调用:onPause(),{{ 1}},onStop())。

由于这些冻结/崩溃之间存在一些不一致,取决于所使用的onDestroy(),我开始玩Bitmap图像,并想通了,我可以摆脱(大多数)这些崩溃,如果我减小这些图像的大小(<200x200)。

  • 仍有一些崩溃和

  • 我无法确定所有设备的尺寸阈值

我仍在寻找一般解决方案,也许你们中的一些人可以帮助我。

1 个答案:

答案 0 :(得分:1)

尽管this线程与我遇到的问题并不完全相同,但却无意中帮助了我。将相关布局的layerType设置为software,如

  • android:layerType="software"

  • view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

使黑色背景和应用重启消失。

事实证明,将背景图像缩小并没有解决问题,只是让它看起来不那么频繁。

感谢pskink的帮助!