【发布时间】:2016-08-31 02:25:33
【问题描述】:
虽然在大多数设备上我的应用程序运行良好,但在某些设备上(到目前为止,LG G3、三星 Galaxy S6)我遇到了一个奇怪的错误,我无法真正展开:
将tileMode(通过XML 或以编程方式)设置为BitmapDrawable 上的任何内容(clamp/mirror),即布局的背景,使背景完全变黑-,并且应用程序在大约 20 秒后重新启动 - 没有任何出现问题的迹象(LogCat 中没有消息,我的活动的这些回调都没有被调用:onPause()、onStop()、onDestroy())。
由于这些冻结/崩溃之间存在一些不一致,具体取决于所使用的Bitmap,我开始使用.png 图像,并发现我可以摆脱(大部分)这些崩溃,如果我减小这些图像的尺寸 (
自从
仍有一些崩溃和
我无法确定所有设备的大小阈值
我仍在寻找一个通用的解决方案,也许你们中的一些人可以帮助我。
【问题讨论】:
-
对于那些更大的 png (>200x200) 如果你不使用
tileMode会发生什么? -
那么一切都很好,只是图片被拉伸到了布局的大小。
-
然后使用
android:gravity -
我没有提到,但是我使用了重复的图像,所以我会用一个在两个方向重复的较小图像覆盖整个背景,而不是改变布局的大小。我认为
android:gravity不适合这个。所以我确实需要设置tileMode。 -
所以如果 std
BitmapDrawable不适合您使用自定义ShapeDrawable.ShaderFactory测试ShapeDrawable
标签: android android-drawable android-bitmap bitmapdrawable