2011-08-18 60 views
0

我在做一個應用程序,當我從菜單中去,使用e3roid框架顯示圖像的其他活動,我永諾得到這個(logcat的):Errno = 13以及如何更有效地進行調試?

D/PhoneWindow(1562): DebugMonitor class=com.recisio.kfandroid.gui.tab.KFFeaturedTab focus=false 
E/copybit (1562): Error opening frame buffer errno=13 (Permission denied) 
D/PhoneWindow(1562): DebugMonitor class=com.recisio.kfandroid.gui.player.KFPlayer focus=true 

我questionning自己約哪裏錯誤來了嗎? 有沒有辦法確切知道它發生了什麼? 可能我不得不忽略這個嗎?

顯然,copybit只是一個支持旋轉,縮放和顏色/像素格式轉換的基本2D blitter的抽象。

但是,奇怪的是,所有加載的圖像都顯示在我的屏幕上。

好:我試圖改變我在我的編碼打印這樣的BMP方式:

return Bitmap.createBitmap(bitmap_width, bitmap_height, Bitmap.Config.RGB_565); 

,但它並沒有解決問題。

通過在我的代碼中隨處打印幾個顯示信息,我意識到加載e3roid引擎時發生錯誤。

我會在等待更多答案時查看來源。

一些測試與之前打印BMP我創建後(有效的),我得到這個

E/copybit (3274): Error opening frame buffer errno=13 (Permission denied) 
D/dalvikvm(3274): GC freed 3337 objects/132024 bytes in 150ms 
I/DEBUG (1145): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
I/DEBUG (1145): Build fingerprint: 'vodafone_fr/htc_buzz/buzz/buzz:2.1-update1/ERE27/183733:user/release-keys' 
I/DEBUG (1145): pid: 3274, tid: 3519 >>> com.recisio.kfandroid <<< 
I/DEBUG (1145): signal 11 (SIGSEGV), fault addr 00000000 
I/DEBUG (1145): r0 46c62008 r1 00000000 r2 00100000 r3 00000018 
I/DEBUG (1145): r4 4685fd10 r5 00000002 r6 46c62008 r7 0000000c 
I/DEBUG (1145): r8 00000000 r9 4191fd20 10 00000de1 fp 002e4428 
I/DEBUG (1145): ip 80000000 sp 4685fc98 lr acc9697b pc afe0e060 cpsr a0000010 
I/DEBUG (1145):   #00 pc 0000e060 /system/lib/libc.so 
I/DEBUG (1145):   #01 pc 00016978 /system/lib/egl/libGLES_android.so 
I/DEBUG (1145):   #02 pc 00016d5a /system/lib/egl/libGLES_android.so 
I/DEBUG (1145):   #03 pc 0002886c /system/lib/libandroid_runtime.so 
I/DEBUG (1145):   #04 pc 0000f3f4 /system/lib/libdvm.so 
I/DEBUG (1145): 
I/DEBUG (1145): code around pc: 
I/DEBUG (1145): afe0e050 0a00000a e1530002 8202301c e1b0ce03 
I/DEBUG (1145): afe0e060 28b100f0 48b10300 28a000f0 48a00300 
I/DEBUG (1145): afe0e070 e3130004 1491a004 1480a004 e0422003 
I/DEBUG (1145): 
I/DEBUG (1145): code around lr: 
I/DEBUG (1145): acc96968 5c39008f 434b6936 435a1c30 f7ed6921 
I/DEBUG (1145): acc96978 e020e91a fef4f7ff 28001c05 480fd101 
I/DEBUG (1145): acc96988 69c2e01a 47901c31 1c2169ab 47981c28 
I/DEBUG (1145): 
I/DEBUG (1145): stack: 
I/DEBUG (1145):  4685fc58 001615b8 [heap] 
I/DEBUG (1145):  4685fc5c 00000800 
I/DEBUG (1145):  4685fc60 00000000 
I/DEBUG (1145):  4685fc64 acc97fdb /system/lib/egl/libGLES_android.so 
I/DEBUG (1145):  4685fc68 00301418 [heap] 
I/DEBUG (1145):  4685fc6c acc9604d /system/lib/egl/libGLES_android.so 
I/DEBUG (1145):  4685fc70 00010002 [heap] 
I/DEBUG (1145):  4685fc74 00100000 [heap] 
I/DEBUG (1145):  4685fc78 00000200 
I/DEBUG (1145):  4685fc7c 00000200 
I/DEBUG (1145):  4685fc80 001615b8 [heap] 
I/DEBUG (1145):  4685fc84 acc95f3d /system/lib/egl/libGLES_android.so 
I/DEBUG (1145):  4685fc88 afe38e08 /system/lib/libc.so 
I/DEBUG (1145):  4685fc8c afe0eed4 /system/lib/libc.so 
I/DEBUG (1145):  4685fc90 df002777 
I/DEBUG (1145):  4685fc94 e3a070ad 
I/DEBUG (1145): #00 4685fc98 00000002 
I/DEBUG (1145):  4685fc9c 46c62008 
I/DEBUG (1145):  4685fca0 0000000c 
I/DEBUG (1145):  4685fca4 00000000 
I/DEBUG (1145):  4685fca8 4191fd20 
I/DEBUG (1145):  4685fcac 00000de1 
I/DEBUG (1145):  4685fcb0 002e4428 [heap] 
I/DEBUG (1145):  4685fcb4 46c62008 
I/DEBUG (1145):  4685fcb8 4685fd10 
I/DEBUG (1145):  4685fcbc acc9697b /system/lib/egl/libGLES_android.so 
I/DEBUG (1145): #01 4685fcc0 4106788c /dev/ashmem/dalvik-LinearAlloc (deleted) 
I/DEBUG (1145):  4685fcc4 002e4428 [heap] 
I/DEBUG (1145):  4685fcc8 ad053c19 /system/lib/libdvm.so 
I/DEBUG (1145):  4685fccc 00000000 
I/DEBUG (1145):  4685fcd0 ad080f8c /system/lib/libdvm.so 
I/DEBUG (1145):  4685fcd4 00300ea0 [heap] 
I/DEBUG (1145):  4685fcd8 00000200 
I/DEBUG (1145):  4685fcdc 001615cc [heap] 
I/DEBUG (1145):  4685fce0 00000001 
I/DEBUG (1145):  4685fce4 acc96d5f /system/lib/egl/libGLES_android.so 
I/DEBUG (1145): debuggerd committing suicide to free the zombie! 
I/DEBUG (3535): debuggerd: May 28 2010 02:08:39 

這是什麼?

回答

2

Hmm..I猜您的設備支持ARGB_8888因爲所有圖片 屏幕上加載好。 設備遇到內存不足的情況時,OpenGL有時會顯示奇怪的錯誤。

+0

我認爲這是,但我讓e3roid下來使用畫布,而不是;)Ty – jDourlens

2

我前幾次有同樣的錯誤,這是由於缺乏內存。在模擬器logcat中,而不是在我的手機上(野火),它說:OutOfMemoryException

確保您使用recycle()方法清除內存中的位圖。