在我的应用程序中,我设置了android:hardwareAccelerated="true"
。我有一个具有大图像(1600 x 2500)的布局。
当我运行我的应用程序时,背景已经消失,我有黑色背景。所以当我设置
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
再次显示背景图片。当我将背景设置为颜色时,它可以正常工作。
那么这里的问题是什么,或者我做错了什么。当android:hardwareAccelerated打开时我想显示图像。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/firstbg"
android:clickable="true">
</LinearLayout>
答案 0 :(得分:1)
使用android:hardwareAccelerated
可让Android将您的图像上传到CPU内存。图像的大小存在限制,它还取决于openGL版本。我不记得最大尺寸是什么,但你的图像可能很大。它使用颜色作为用于渲染颜色的不同算法。
我相信如果您尝试使用较小的图像,它将适合您。
编辑:如果你必须使用大图片,你唯一的选择就是将它缩小到较小的平安状态并将其用作某种拼图,但它会影响你的表现。试着找到一种方法来减小它的大小。