我在TextView
内有ReleativeLayout
,我在运行时将大文本设置为ReleativeLayout
。
问题出在我的12-12 16:26:56.602: W/OpenGLRenderer(7400): Path too large to be rendered into a texture
背景上,这是一个带边框的圆形。它没有设置背景,在Logcat中它说:
12-12 16:37:05.717: E/AndroidRuntime(9520): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@4633e3f8
我已经通过在清单文件中将 android:hardwareAccelerated 变为false来解决了这个问题(一个活动不是整个应用程序),但是当我在我的Activity中使用滑动菜单时它会引发另一个错误那个:
{{1}}
我的SlidingMenu里面只有一个没有任何位图的ListView,它是6Wunderkinder SlidingLayer库。
任何帮助将不胜感激。
答案 0 :(得分:16)
最后通过将我的Fragment ScrollView的LayerType从HardwareAcceleration更改为Software来解决它,而没有为整个Activity设置HardwareAcceleration false,导致SlidingMenu中提到的奇怪的行为:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layerType="software">
答案 1 :(得分:3)
当我的滚动视图太长而根视图中有一个drawable时,这种情况发生在我身上,这会对每个设备产生唯一影响。我的Nexus 9将展示最多的东西,但我的索尼紧凑型不会。关闭硬件加速是不值得的,因为在低端设备上你可能会有一个非常不稳定的应用程序。
在这种情况下,您应该考虑使用listview或recyclerview来确保您的背景元素不大于屏幕。即使是不太长的scrollview背景中的XML drawable也会产生这个错误。我选择安全并重新设计元素,简单地从scrollview中删除背景可以是一个选项,并将它们作为瓷砖放在内部元素中。
这看起来很奇怪,但它必须与更长滚动视图中的根视图如何呈现背景有关,因为滚动视图本身可能很长,许多复杂元素没有问题,背景颜色也是如此从来没有问题..
答案 2 :(得分:3)
如果您想以编程方式执行此操作,可以设置:
view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);