2012-01-11 7 views
2

他の人の投稿を見回しました。このエラーは、私の活動がヒープの制限を超えている可能性があるためです。 Bitmap.createBitmap()を使用せず、小さなビットマップを変更して空のビットマップとして変更するなど、アプリケーションのヒープサイズを減らすために、いくつかのビットマップを操作しています。また、作成したビットマップにinPurgableオプションを使用しています。ここに私のコードです。ここでなぜWIN DEATHを取得していますか?ウィンドウ{45087aa8 com.gigabites.fortune/com.gigabites.fortune.BuildActivity paused = false}エラー?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Log.i("INFO","At 2###########"); 
    setContentView(R.layout.landingscreen); 
    Thread thread = new Thread(this); 
    thread.start(); 

} 

私の活動はRunnableを実装しており、これは、実行(ある)

public void run() { 
    BitmapFactory.Options factoryOptions = new BitmapFactory.Options(); 
    factoryOptions.inPurgeable = true; 
    factoryOptions.inInputShareable = true; 
    Bitmap tempCBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.c6,factoryOptions); 
    cBitmap = tempCBitmap.copy(Bitmap.Config.ARGB_8888, true); 
    PrepareLines(); 
    Bitmap dBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.dummy); 
    Bitmap textLayer = Bitmap.createScaledBitmap(dBitmap, w, h, false); 
    Bitmap workLayer = Bitmap.createScaledBitmap(dBitmap, w, h, false); 
    canvas = new Canvas(textLayer); 
    canvas.drawText(lineOne, xCenter, yCenter, paint); 
    canvas.drawText(lineTwo, xCenter, yCenter+20, paint); 
    canvas.drawText(lineThree, xCenter, yCenter+40, paint); 

    Camera mCamera = new Camera(); 
    Matrix mMatrix = new Matrix(); 
    mCamera.save(); 
    mCamera.rotateY(yDegreeRotate+8); 
    mCamera.getMatrix(mMatrix); 
    mCamera.restore(); 

    mMatrix.preTranslate(-xCenter, (-yCenter)-verticalOffset); 
    mMatrix.postTranslate(xCenter, yCenter+verticalOffset); 
    Log.i("INFO","At before first draw ###########"); 


    canvas.setBitmap(workLayer); 
    canvas.drawBitmap(Bitmap.createBitmap(textLayer,0,0,xCenter,h), mMatrix, paint); 

    canvas.setBitmap(cBitmap); 
    canvas.drawBitmap(workLayer, new Matrix(), paint); 

    mMatrix = new Matrix(); 
    workLayer = Bitmap.createScaledBitmap(dBitmap, w, h, false); 
    dBitmap = null; 
    System.gc(); 

    mCamera.rotateY(-yDegreeRotate); 
    mCamera.getMatrix(mMatrix); 
    // WIN DEATH HERE 
    mCamera.restore(); 
    // WIN DEATH HERE; 
    mMatrix.preTranslate(0 , (-yCenter)-verticalOffset); 
    mMatrix.postTranslate(xCenter, (yCenter)+verticalOffset); 
    Log.i("INFO","At before second draw ###########"); 



    canvas.setBitmap(workLayer); 
    canvas.drawBitmap(Bitmap.createBitmap(textLayer,xCenter,0,w-xCenter,h), mMatrix, paint); 

    canvas.setBitmap(cBitmap); 
    canvas.drawBitmap(workLayer, new Matrix(), paint); 

    Log.i("INFO","At 20, string measures: "+paint.measureText(message)); 
    canvas = null; 
    workLayer = null; 
    textLayer = null; 
    System.gc(); 
    makeFileAndIntent(); 

} 

は私のLogCat情報です:私はこれを実行すると

01-11 04:05:26.615: D/AndroidRuntime(314): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
01-11 04:05:26.615: D/AndroidRuntime(314): CheckJNI is ON 
01-11 04:05:26.705: D/AndroidRuntime(314): --- registering native functions --- 
01-11 04:05:27.095: D/AndroidRuntime(314): Shutting down VM 
01-11 04:05:27.095: D/dalvikvm(314): Debugger has detached; object registry had 1 entries 
01-11 04:05:27.105: I/AndroidRuntime(314): NOTE: attach of thread 'Binder Thread #3' failed 
01-11 04:05:27.415: D/AndroidRuntime(322): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< 
01-11 04:05:27.415: D/AndroidRuntime(322): CheckJNI is ON 
01-11 04:05:27.515: D/AndroidRuntime(322): --- registering native functions --- 
01-11 04:05:27.905: I/ActivityManager(59): Force stopping package com.gigabites.fortune uid=10040 
01-11 04:05:27.905: I/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.gigabites.fortune/.BuildActivity } 
01-11 04:05:27.925: I/ActivityManager(59): Start proc com.gigabites.fortune for activity com.gigabites.fortune/.BuildActivity: pid=328 uid=10040 gids={1015} 
01-11 04:05:27.945: W/WindowManager(59): HistoryRecord{450b8ef0 com.gigabites.fortune/.BuildActivity} failed creating starting window 
01-11 04:05:27.945: W/WindowManager(59): android.view.InflateException: Binary XML file line #24: Error inflating class <unknown> 
01-11 04:05:27.945: W/WindowManager(59): at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
01-11 04:05:27.945: W/WindowManager(59): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
01-11 04:05:27.945: W/WindowManager(59): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
01-11 04:05:27.945: W/WindowManager(59): at android.view.LayoutInflater.inflate(LayoutInflater.java:385) 
01-11 04:05:27.945: W/WindowManager(59): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
01-11 04:05:27.945: W/WindowManager(59): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
01-11 04:05:27.945: W/WindowManager(59): at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2165) 
01-11 04:05:27.945: W/WindowManager(59): at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2220) 
01-11 04:05:27.945: W/WindowManager(59): at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1407) 
01-11 04:05:27.945: W/WindowManager(59): at com.android.internal.policy.impl.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:894) 
01-11 04:05:27.945: W/WindowManager(59): at com.android.server.WindowManagerService$H.handleMessage(WindowManagerService.java:9007) 
01-11 04:05:27.945: W/WindowManager(59): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-11 04:05:27.945: W/WindowManager(59): at android.os.Looper.loop(Looper.java:123) 
01-11 04:05:27.945: W/WindowManager(59): at com.android.server.WindowManagerService$WMThread.run(WindowManagerService.java:570) 
01-11 04:05:27.945: W/WindowManager(59): Caused by: java.lang.reflect.InvocationTargetException 
01-11 04:05:27.945: W/WindowManager(59): at android.widget.FrameLayout.<init>(FrameLayout.java:79) 
01-11 04:05:27.945: W/WindowManager(59): at java.lang.reflect.Constructor.constructNative(Native Method) 
01-11 04:05:27.945: W/WindowManager(59): at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
01-11 04:05:27.945: W/WindowManager(59): at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
01-11 04:05:27.945: W/WindowManager(59): ... 13 more 
01-11 04:05:27.945: W/WindowManager(59): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x1010059 a=-1} 
01-11 04:05:27.945: W/WindowManager(59): at android.content.res.Resources.loadDrawable(Resources.java:1681) 
01-11 04:05:27.945: W/WindowManager(59): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
01-11 04:05:27.945: W/WindowManager(59): at android.widget.FrameLayout.<init>(FrameLayout.java:91) 
01-11 04:05:27.945: W/WindowManager(59): ... 17 more 
01-11 04:05:27.955: D/AndroidRuntime(322): Shutting down VM 
01-11 04:05:27.955: D/dalvikvm(322): Debugger has detached; object registry had 1 entries 
01-11 04:05:27.975: I/dalvikvm(322): JNI: AttachCurrentThread (from ???.???) 
01-11 04:05:27.975: I/AndroidRuntime(322): NOTE: attach of thread 'Binder Thread #3' failed 
01-11 04:05:28.105: W/ActivityThread(328): Application com.gigabites.fortune is waiting for the debugger on port 8100... 
01-11 04:05:28.135: I/System.out(328): Sending WAIT chunk 
01-11 04:05:28.145: I/dalvikvm(328): Debugger is active 
01-11 04:05:28.335: I/System.out(328): Debugger has connected 
01-11 04:05:28.335: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:28.535: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:28.782: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:28.975: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:29.185: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:29.385: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:29.607: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:29.805: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:30.021: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:30.229: I/System.out(328): waiting for debugger to settle... 
01-11 04:05:30.445: I/System.out(328): debugger has settled (1388) 
01-11 04:05:33.015: I/INFO(328): At 2########### 
01-11 04:05:34.585: I/ActivityManager(59): Displayed activity com.gigabites.fortune/.BuildActivity: 6668 ms (total 6668 ms) 
01-11 04:05:37.678: I/INFO(328): At 1########### 
01-11 04:05:37.785: D/dalvikvm(328): GC_EXTERNAL_ALLOC freed 1191 objects/77104 bytes in 40ms 
01-11 04:05:37.875: I/INFO(328): At 2########### 
01-11 04:05:37.885: I/INFO(328): At 20, string measures: 653.0 
01-11 04:05:37.925: D/dalvikvm(328): GC_EXTERNAL_ALLOC freed 360 objects/16904 bytes in 35ms 
01-11 04:05:37.985: D/dalvikvm(328): GC_EXTERNAL_ALLOC freed 47 objects/1776 bytes in 35ms 
01-11 04:05:38.055: I/INFO(328): At before first draw ########### 
01-11 04:05:38.135: D/dalvikvm(328): GC_EXTERNAL_ALLOC freed 15 objects/632 bytes in 30ms 
01-11 04:05:38.196: D/dalvikvm(328): GC_EXPLICIT freed 12 objects/424 bytes in 31ms 
01-11 04:05:38.345: I/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
01-11 04:05:38.345: I/DEBUG(31): Build fingerprint: 'generic/google_sdk/generic/:2.2/FRF91/43546:eng/test-keys' 
01-11 04:05:38.345: I/DEBUG(31): pid: 328, tid: 335 >>> com.gigabites.fortune <<< 
01-11 04:05:38.345: I/DEBUG(31): signal 11 (SIGSEGV), fault addr deadbaad 
01-11 04:05:38.345: I/DEBUG(31): r0 00000000 r1 0000000c r2 00000027 r3 00000000 
01-11 04:05:38.345: I/DEBUG(31): r4 00000000 r5 deadbaad r6 00001728 r7 00000000 
01-11 04:05:38.345: I/DEBUG(31): r8 46d00d10 r9 4185ef74 10 002404e8 fp 4185ef70 
01-11 04:05:38.345: I/DEBUG(31): ip ffffffff sp 46d00c80 lr afd154c5 pc afd11dc4 cpsr 40000030 
01-11 04:05:38.415: I/DEBUG(31):   #00 pc 00011dc4 /system/lib/libc.so 
01-11 04:05:38.415: I/DEBUG(31):   #01 pc 0000be1c /system/lib/libc.so 
01-11 04:05:38.415: I/DEBUG(31): code around pc: 
01-11 04:05:38.415: I/DEBUG(31): afd11da4 1c2bd00b 2d00682d e026d1fb 2b0068db 
01-11 04:05:38.415: I/DEBUG(31): afd11db4 4e17d003 51a02001 4d164798 24002227 
01-11 04:05:38.415: I/DEBUG(31): afd11dc4 f7fb702a 2106ee14 ef10f7fc 05592380 
01-11 04:05:38.415: I/DEBUG(31): afd11dd4 6091aa01 1c116054 94012006 eab6f7fc 
01-11 04:05:38.415: I/DEBUG(31): afd11de4 2200a905 f7fc2002 f7fbeac2 2106ee00 
01-11 04:05:38.415: I/DEBUG(31): code around lr: 
01-11 04:05:38.415: I/DEBUG(31): afd154a4 b0834a0d 589c447b 26009001 686768a5 
01-11 04:05:38.415: I/DEBUG(31): afd154b4 220ce008 2b005eab 1c28d003 47889901 
01-11 04:05:38.415: I/DEBUG(31): afd154c4 35544306 d5f43f01 2c006824 b003d1ee 
01-11 04:05:38.415: I/DEBUG(31): afd154d4 bdf01c30 0002ae7c 000000d4 1c0fb5f0 
01-11 04:05:38.415: I/DEBUG(31): afd154e4 43551c3d a904b087 1c16ac01 604d9004 
01-11 04:05:38.415: I/DEBUG(31): stack: 
01-11 04:05:38.415: I/DEBUG(31):  46d00c40 00000015 
01-11 04:05:38.415: I/DEBUG(31):  46d00c44 afd1453b /system/lib/libc.so 
01-11 04:05:38.415: I/DEBUG(31):  46d00c48 afd405a0 /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c4c afd4054c /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c50 00000000 
01-11 04:05:38.426: I/DEBUG(31):  46d00c54 afd154c5 /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c58 00000000 
01-11 04:05:38.426: I/DEBUG(31):  46d00c5c afd1450d /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c60 afd41724 /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c64 afd40328 /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c68 00000000 
01-11 04:05:38.426: I/DEBUG(31):  46d00c6c 00001728 
01-11 04:05:38.426: I/DEBUG(31):  46d00c70 00000000 
01-11 04:05:38.426: I/DEBUG(31):  46d00c74 afd147ab /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c78 df002777 
01-11 04:05:38.426: I/DEBUG(31):  46d00c7c e3a070ad 
01-11 04:05:38.426: I/DEBUG(31): #00 46d00c80 8086caa4 /system/lib/libdvm.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c84 80870eea /system/lib/libdvm.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c88 afd418dc /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c8c afd10510 /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c90 afd40328 /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c94 fffffbdf 
01-11 04:05:38.426: I/DEBUG(31):  46d00c98 afd40328 /system/lib/libc.so 
01-11 04:05:38.426: I/DEBUG(31):  46d00c9c afd41724 /system/lib/libc.so 
01-11 04:05:38.435: I/DEBUG(31):  46d00ca0 0000a000 [heap] 
01-11 04:05:38.435: I/DEBUG(31):  46d00ca4 afd0be21 /system/lib/libc.so 
01-11 04:05:38.435: I/DEBUG(31): #01 46d00ca8 afd40328 /system/lib/libc.so 
01-11 04:05:38.435: I/DEBUG(31):  46d00cac afd0be21 /system/lib/libc.so 
01-11 04:05:38.435: I/DEBUG(31):  46d00cb0 418cb358 /dev/ashmem/dalvik-LinearAlloc (deleted) 
01-11 04:05:38.435: I/DEBUG(31):  46d00cb4 80846dad /system/lib/libdvm.so 
01-11 04:05:38.435: I/DEBUG(31):  46d00cb8 00119ab8 [heap] 
01-11 04:05:38.435: I/DEBUG(31):  46d00cbc 00234078 [heap] 
01-11 04:05:38.435: I/DEBUG(31):  46d00cc0 44ef45a8 /dev/ashmem/mspace/dalvik-heap/2 (deleted) 
01-11 04:05:38.435: I/DEBUG(31):  46d00cc4 8083d9b9 /system/lib/libdvm.so 
01-11 04:05:38.435: I/DEBUG(31):  46d00cc8 000013fc 
01-11 04:05:38.435: I/DEBUG(31):  46d00ccc 00234608 [heap] 
01-11 04:05:38.435: I/DEBUG(31):  46d00cd0 44ef45a8 /dev/ashmem/mspace/dalvik-heap/2 (deleted) 
01-11 04:05:38.435: I/DEBUG(31):  46d00cd4 00119ab8 [heap] 
01-11 04:05:38.435: I/DEBUG(31):  46d00cd8 afd417e0 /system/lib/libc.so 
01-11 04:05:38.435: I/DEBUG(31):  46d00cdc 42c3d5f6 /data/dalvik-cache/[email protected]@[email protected] 
01-11 04:05:38.435: I/DEBUG(31):  46d00ce0 4185ef7c 
01-11 04:05:38.435: I/DEBUG(31):  46d00ce4 afd0cd81 /system/lib/libc.so 
01-11 04:05:38.435: I/DEBUG(31):  46d00ce8 00119ab8 [heap] 
01-11 04:05:38.435: I/DEBUG(31):  46d00cec afc008e3 /system/lib/libstdc++.so 
01-11 04:05:38.855: I/BootReceiver(59): Copying /data/tombstones/tombstone_08 to DropBox (SYSTEM_TOMBSTONE) 
01-11 04:05:38.875: D/Zygote(33): Process 328 terminated by signal (11) 
01-11 04:05:38.955: D/dalvikvm(59): GC_FOR_MALLOC freed 2276 objects/507544 bytes in 99ms 
01-11 04:05:38.955: I/ActivityManager(59): Process com.gigabites.fortune (pid 328) has died. 
01-11 04:05:38.965: I/WindowManager(59): WIN DEATH: Window{45087aa8 com.gigabites.fortune/com.gigabites.fortune.BuildActivity paused=false} 
01-11 04:05:38.975: I/UsageStats(59): Unexpected resume of com.android.launcher while already resumed in com.gigabites.fortune 
01-11 04:05:39.055: D/dalvikvm(59): GC_FOR_MALLOC freed 512 objects/159856 bytes in 66ms 
01-11 04:05:39.156: W/InputManagerService(59): Got RemoteException sending setActive(false) notification to pid 328 uid 10040 

マイアンドロイドエミュレータのヒープサイズは24 です私の銀河の活気に満ちたすべてがうまくいくようです。ここで

がlandingscreenレイアウトのための私のXML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" android:background="@color/maroon" android:gravity="center"> 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:background="@drawable/darkred_maroon_gradient" > 

     <TextView 
        android:id="@+id/titlebar" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="12sp" 
        android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/app_name" android:background="@drawable/darkred_maroon_gradient" android:paddingLeft="5dp" android:textColor="@color/yellow" android:typeface="monospace" android:gravity="left|center_vertical"/> 
     <TextView 
        android:id="@+id/titlebar" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:textSize="12sp" 
        android:textAppearance="?android:attr/textAppearanceSmall" android:text="GiGA BiTES" android:gravity="right|center_vertical" android:paddingRight="5dp" android:textColor="@color/yellow" android:typeface="monospace"/> 
    </LinearLayout> 

    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:weightSum="2" 
     android:layout_width="match_parent" 

     android:layout_height="match_parent" > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" android:weightSum="2"> 

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" android:layout_weight="1" 
       android:gravity="center" android:layout_gravity="center"> 

       <ImageView 
        android:id="@+id/ncview" 
        android:onClick="onClick" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:src="@drawable/newcicon" android:scaleType="center" android:layout_centerHorizontal="true" android:paddingTop="3dp"/> 
       <TextView 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/newc" 
        android:onClick="onClick" 
        android:textAppearance="?android:attr/textAppearanceLarge" android:layout_centerInParent="true" android:textColor="@color/yellow"/> 
      </RelativeLayout> 
      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" android:layout_weight="1" android:gravity="center"> 
       <ImageView 
        android:id="@+id/scview" 
        android:onClick="onClick" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:src="@drawable/sendcicon" android:scaleType="center" android:layout_centerHorizontal="true"/> 

       <TextView 
        android:onClick="onClick" 
        android:id="@+id/textView2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/sendc" 
        android:textAppearance="?android:attr/textAppearanceLarge" android:layout_centerInParent="true" android:textColor="@color/yellow"/> 

      </RelativeLayout> 

     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:weightSum="2"> 

      <RelativeLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:orientation="vertical" android:layout_weight="1" android:gravity="center" android:layout_gravity="bottom"> 
       <ImageView 
        android:id="@+id/ctview" 
        android:onClick="onClick" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:scaleType="center" 
        android:src="@drawable/cticon" android:layout_centerHorizontal="true" android:paddingTop="25dp"/> 
       <TextView 
        android:onClick="onClick" 
        android:id="@+id/textView3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/buytokens" 
        android:textAppearance="?android:attr/textAppearanceLarge" android:layout_gravity="bottom|center_horizontal" android:layout_centerInParent="true" android:gravity="center" android:textColor="@color/yellow"/> 
      </RelativeLayout> 
      <RelativeLayout 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:orientation="vertical" android:layout_weight="1" android:gravity="center"> 
       <ImageView 
        android:id="@+id/hview" 
        android:onClick="onClick" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:scaleType="center" 
        android:src="@drawable/helpicon" android:layout_centerHorizontal="true"/> 
       <TextView 
        android:id="@+id/textView4" 
        android:onClick="onClick" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/help" 
        android:textAppearance="?android:attr/textAppearanceLarge" android:layout_centerInParent="true" android:textColor="@color/yellow"/> 
      </RelativeLayout> 


     </TableRow> 

    </TableLayout> 

</LinearLayout> 

である。また、私は32のヒープサイズとエミュレータでこれを試してみましたが、まだ同じ問題を抱えていました。

UPDATE:私は今も、私は今では描画可能nodpiフォルダからreasourceをロードしていますことを指摘したかった

をAsyncTaskオブジェクトのdoInBackgroundにこのビットマップの作成を試してみましたが、同じ問題を持っていますエミュレータはサイズ変更を行わずに問題を抱えています。

+0

landingscreen.xmlを投稿できますか? – nandeesh

+0

そこに.xmlを投稿しました – 8oh8

答えて

6

Androidのビットマップはガベージコレクションに問題があります。 Java Bitmapオブジェクトは、オブジェクトを処理する実際の作業を行うネイティブオブジェクトのハンドルです。ネイティブオブジェクトはJavaヒープの外部に格納されているため、ガベージコレクタでは処理されません。

Java Bitmapオブジェクトがガベージコレクトされると、ネイティブオブジェクトが解放されます。しかし、Javaオブジェクトはビットマップデータよりもはるかに小さいので、新しいJava Bitmapインスタンスを作成し続けると、オブジェクトへの参照を解放しても、GCが呼び出される前にネイティブヒープがいっぱいになります。ネイティブヒープは、GCを呼び出すのではなく、単に爆弾でいっぱいになるとJavaヒープについて何も知らないので、

この状況を回避するための鍵は、C++を使用している場合と同じように、Javaオブジェクトを使用してネイティブオブジェクトを解放し終えたらBitmap.recycle()を呼び出すことです。残念ながら、Javaはデストラクタやスマートポインタをサポートしていないので、プログラマの規律に頼らざるを得ません。

あなたのケースでは、recycle()の呼び出しはCameraによって行われるため、修正が機能したのはそのためです。

+1

これはPre-Honeycombにも当てはまりました。ビットマップメモリ​​はもはやそのように扱われません。 –

+0

ハニカムポストメモリに関する詳細を教えてください。 –

+0

ポストハニカムのビットマップメモリ​​がJavaヒープに割り当てられます。このトークをご覧ください:https://www.youtube.com/watch?v=_CruQY55HOk – mlepage

0

大きなヒープで問題が発生したとき、私はエミュレータに移動してメモリサイズを変更しました。私が覚えているように、デフォルトのメモリは非常に小さいです。そしてあなたの32はそれほどではありません。なぜ自分自身を制限しているのですか?

+0

私はそれを24に制限しています。それは、それがより多くの携帯電話をサポートするからです。私はこれを考えていますか?だから今、もし私が自分のアプリを公開するなら、ヒープサイズ24の携帯電話では動作しません。また、私は3ビットマップを格納することは、そのすべてのヒープメモリを使用する必要があるとは思わない。 – 8oh8

1

すべてのCamera.save()呼び出しとCamera.restore()呼び出しのバランスが取れていないため、エラーが発生しました。

関連する問題