2013-12-22 21 views
0

在我的應用程序中,我設置了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> 

回答

1

使用android:hardwareAccelerated使Android將您的圖像上傳到CPU內存。在圖像的大小上有一個限制,它也取決於openGL版本。我不記得最大尺寸是多少,但你的圖像可能會很大。它用顏色作爲用於渲染顏色的不同算法。

我相信,如果你會嘗試使用較小的圖像,它會爲你工作。

編輯:如果您必須使用較大的圖像,您唯一的選擇是將其切割成較小的破片,並將其用作某種類型的拼圖,但會影響您的表演。嘗試找到一種方法來減小它的大小。

+0

@ fish40我添加一個編輯 –

+0

謝謝@Babibu它可以在我放入較小的圖像時起作用。但有沒有其他解決方案。我必須使用大圖像,並沒有其他方式 – fish40

+0

謝謝@Babibu – fish40