2012-01-09 120 views
5

可能有些愚蠢的事情發生了,但我試圖在應用程序中啓用硬件加速,目標鎖定爲每個this tutorial未啓用硬件加速

我已經添加了以下到我的清單:

<uses-sdk 
    android:targetSdkVersion="12" 
    android:minSdkVersion="12" /> 

<application 
    ... 
    android:hardwareAccelerated="true"> 

當我檢查硬件加速的狀態下,查看連接(通過調用一個重寫onAttachedToWindow()isHardwareAccelerated()),我現在回到真實的,所以所有後看起來很棒。問題是SurfaceView的畫布沒有被加速,因爲canvas.isHardwareAccelerated()返回false。我正在檢查surfaceCreated(),並且我在那裏也得到了真實性,所以我不知道Canvas正在失去這個設置。

任何指針?

EDIT1:

發現了谷歌開發人員組thisthis,但我確實檢查,如果我檢查這onAttachedToWindow()查看連接後,對不對?這是在運行3.1 BTW的聯想平板電腦上。

EDIT2:

我曾嘗試禁用加速通過設置

<application 
    ... 
    android:hardwareAccelerated="false"> 

而且我仍然看到真正從視圖中onAttachedToWindow()回來,所以事情是不是就在這裏。我沒有明確地從代碼中加速,也許是一個設備特定的問題?

此外,我偶爾看到下面的行logcat中的SurfaceView創建時:

surface (identity=524) is invalid, err=-19 (No such device) 

EDIT3:

只是想大聲這裏,但沒有任何機會,Canvas是不由於它在自己的線程上,通過使用繪圖循環的典型SurfaceView實現(如Lunar Lander)而加速?

回答