What did I do wrong? I worked within the defined limitations, then a new handset came out with stricter limitations.
I'm kind of confused how you can blame me! On Dec 2, 5:19 pm, Romain Guy <[email protected]> wrote: > The Droid has more pixels and a high display density, therefore > bitmaps are scaled and require more memory. If your app is running out > of memory, do not blame it on the framework and "poorer performance," > blame it on your app for doing the wrong thing and abusing the Java > heap. > > > > > The app worked great on the G1. I've clearly hit a case where the > > framework made some decisions that result in poorer performance on the > > Droid. > > > The bitmap out of memory errors can still occur on any setLayout(res/ > > xml/id), after running the app for 5-30 mins. But I did fix the > > bitmap out of memory crash that occured during > > > glow.setBackgroundResource(glowDrawableIds[scale]); > > > We just don't set a new background resource anymore. > > > I had 10 animation frames, and the animation frame chosen was based > > upon the volume coming from the mic. > > > Now we take what was the last frame, and vary it's drawable's > > transparency depending on volume. > > > glow.getBackground().setAlpha(alpha); > > > I will now start creating additional res/xml/files, so that LESS > > complex layouts are used on the Verizon Motorola Droid with firmware > > 2.0 then we used on the G1. > > > The layouts, and the final resulting screens were approved by > > management, so I will be trying hard not to change ANYTHING on the G1, > > while adding support for the inferior memory handling on the only > > Android 2.0 handset. The one with better specs. > > > Can anyone recommend which Android debugging tool I should be using to > > figure out what to optimize? > > > On Nov 25, 11:11 am, Streets Of Boston <[email protected]> > > wrote: > >> As in the comment in your bug-report by Romain, you're using too much > >> memory. > >> Note that you only have 16MByte total available RAM for your process, > >> including your bitmaps. > > >> - Only load the bitmaps that are absolutely necessary (especially when > >> they become quite large). > >> - Load the bitmaps scaled to the size of your screen, if possible. Use > >> BitmapFactory.decode and set the 'inSampleSize' of your bitmap-options > >> to scale down the size of the bitmap to be loaded and rendered on the > >> screen. > > >> On Nov 25, 12:46 pm, MattKanninen<[email protected]> wrote: > > >> > <a href="http://code.google.com/p/android/issues/detail?id=5045">Issue > >> > 5045</a> > > >> >http://code.google.com/p/android/issues/detail?id=5045 > > >> > On Nov 25, 9:37 am, MattKanninen<[email protected]> wrote: > > >> > > This: > >> > > private static final int[] glowDrawableIds={ > >> > > R.drawable.graphic_microphoneglow_01, > >> > > R.drawable.graphic_microphoneglow_02, > >> > > R.drawable.graphic_microphoneglow_03, > >> > > R.drawable.graphic_microphoneglow_04, > >> > > R.drawable.graphic_microphoneglow_05, > >> > > R.drawable.graphic_microphoneglow_06, > >> > > R.drawable.graphic_microphoneglow_07, > >> > > R.drawable.graphic_microphoneglow_08, > >> > > R.drawable.graphic_microphoneglow_09, > >> > > R.drawable.graphic_microphoneglow_10 > >> > > }; > >> > > ... > >> > > View glow = findViewById(R.id.glow); > >> > > .. > > >> > > glow.setBackgroundResource(glowDrawableIds[scale]); > > >> > > is causing > > >> > > 11-25 09:21:02.046: WARN/UsageStats(1018): Failed to persist new stats > >> > > 11-25 09:21:02.694: DEBUG/dalvikvm(2386): GC freed 298 objects / 15656 > >> > > bytes in 61ms > >> > > 11-25 09:21:02.952: ERROR/dalvikvm-heap(2386): 1111680-byte external > >> > > allocation too large for this process. > >> > > 11-25 09:21:02.952: ERROR/(2386): VM won't let us allocate 1111680 > >> > > bytes > >> > > 11-25 09:21:02.952: DEBUG/AndroidRuntime(2386): Shutting down VM > >> > > 11-25 09:21:02.952: WARN/dalvikvm(2386): threadid=3: thread exiting > >> > > with uncaught exception (group=0x4001b180) > >> > > 11-25 09:21:02.952: ERROR/AndroidRuntime(2386): Uncaught handler: > >> > > thread main exiting due to uncaught exception > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): > >> > > java.lang.OutOfMemoryError: bitmap size exceeds VM budget > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.Bitmap.nativeCreate(Native Method) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.Bitmap.createBitmap(Bitmap.java:468) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.Bitmap.createBitmap(Bitmap.java:435) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.Bitmap.createScaledBitmap(Bitmap.java:340) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:488) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:462) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java: > >> > > 323) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.graphics.drawable.Drawable.createFromResourceStream > >> > > (Drawable.java:697) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.content.res.Resources.loadDrawable(Resources.java:1705) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.content.res.Resources.getDrawable(Resources.java:580) > >> > > 11-25 09:21:03.014: ERROR/AndroidRuntime(2386): at > >> > > android.view.View.setBackgroundResource(View.java:7187)- Hide quoted > >> > > text - > > >> > - Show quoted text - > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to [email protected] > > To unsubscribe from this group, send email to > > [email protected] > > For more options, visit this group at > >http://groups.google.com/group/android-developers?hl=en > > -- > Romain Guy > Android framework engineer > [email protected] > > Note: please don't send private questions to me, as I don't have time > to provide private support. All such questions should be posted on > public forums, where I and others can see and answer them -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

