ok,i will try On 10월13일, 오후1시31분, Kumar Bibek <[email protected]> wrote: > Well, I would say, that System.gc() won't help you much. Since the purpose > of yours is to stream an image from the internet, the best approach would > probably be to write that stream into a file first. When that is done, you > can create a Bitmap from this file. > > > > On Wed, Oct 13, 2010 at 9:32 AM, DanH <[email protected]> wrote: > > I'm guessing it has to do with the bitmap size here: > > > Out of memory: Heap Size=5639KB, Allocated=3134KB, Bitmap Size=18669KB > > > The Android has a mysterious and troublesome bitmap caching scheme, > > and sometimes this requires the explicit issuance of "System.gc" > > calls, even though the Java book says that should never be necessary. > > And the programmer can exacerbate the situation by not "cleaning up" > > old images properly, though I'm a babe in the woods in terms of > > understanding that snake pit. > > > On Oct 12, 9:58 pm, n2v2rda2 <[email protected]> wrote: > > > below is my code to make bitmap from network-jpeg-stream whose size > > > is 360*288 > > > i don't know how to handle it , > > > --------------------------------------------------------------------------------------------------------------- > > > private void makeImage() { > > > try { > > > System.arraycopy(BA.toByteArray(), 0, > > temporaryBA, 0, BA.length()); > > > int tempBALength = BA.length(); > > > > if (BA.byteAt(startJpeg) == (byte) 0xff && > > BA.byteAt(startJpeg + 1) > > > == (byte) 0xD8) { > > > if ((BA.byteAt(endJpeg - 1) == (byte) > > 0xff && BA.byteAt(endJpeg) > > > == (byte) 0xD9) > > > || (BA.byteAt(endJpeg - > > 2) == (byte) 0xff && BA.byteAt(endJpeg - > > > 1) == (byte) 0xD9)) { > > > > BitmapFactory.Options options = > > new BitmapFactory.Options(); > > > options.inSampleSize = 2; > > > options.inTempStorage = new > > byte[256]; > > > > Bitmap orgBitmap = > > BitmapFactory.decodeByteArray(temporaryBA, > > > startJpeg, endJpeg - startJpeg +1,options); > > > Bitmap bitmap = > > Bitmap.createScaledBitmap(orgBitmap, width, > > > (height / 2) , true); > > > if (bitmap != null) { > > > screenshot = new > > byte[endJpeg - startJpeg +1]; > > > System.arraycopy(temporaryBA, startJpeg, screenshot, 0, endJpeg > > > - startJpeg +1); > > > > Message msg = > > Message.obtain(handler, 0, current_ch, 0, bitmap); > > > handler.sendMessage(msg); > > > } else { > > > BA.clear(); > > > } > > > }else{ > > > BA.clear(); > > > } > > > }else { > > > BA.clear(); > > > } > > > BA.clear(); > > > BA.setLength(0); > > > BA.append(temporaryBA, iEndMarkIndex, > > tempBALength - > > > iEndMarkIndex); > > > } catch (IllegalArgumentException e) { > > > BA.clear(); > > > } catch (OutOfMemoryError om) { > > > BA.clear(); > > > } catch (NullPointerException np) { > > > BA.clear(); > > > } catch (IndexOutOfBoundsException io) { > > > BA.clear(); > > > } > > > } > > > ---------------------------------------logcat - > > > error---------------------------------------------------- > > > > 10-13 11:22:03.472: ERROR/dalvikvm-heap(6060): 384000-byte external > > > allocation too large for this process. > > > 10-13 11:22:03.472: ERROR/dalvikvm(6060): Out of memory: Heap > > > Size=5639KB, Allocated=3134KB, Bitmap Size=18669KB > > > 10-13 11:22:03.472: ERROR/(6060): VM won't let us allocate 384000 > > > bytes > > > 10-13 11:22:03.582: INFO/DEBUG(5641): *** *** *** *** *** *** *** *** > > > *** *** *** *** *** *** *** *** > > > 10-13 11:22:03.582: INFO/DEBUG(5641): Build fingerprint: 'skt_kr/ > > > htc_bravo/bravo/bravo:2.1-update1/ERE27/171460:user/release-keys' > > > 10-13 11:22:03.582: INFO/DEBUG(5641): pid: 6060, tid: 6081 >>> rams > > > <<< > > > 10-13 11:22:03.582: INFO/DEBUG(5641): signal 11 (SIGSEGV), fault addr > > > 00000000 > > > 10-13 11:22:03.582: INFO/DEBUG(5641): r0 003d48d0 r1 00000000 r2 > > > 00000000 r3 003d48f4 > > > 10-13 11:22:03.582: INFO/DEBUG(5641): r4 003d48d0 r5 00000000 r6 > > > 00000000 r7 00000000 > > > 10-13 11:22:03.582: INFO/DEBUG(5641): r8 483b3d08 r9 42ea2ed4 10 > > > 483b3e38 fp 42ea2ed4 > > > 10-13 11:22:03.582: INFO/DEBUG(5641): ip 003d48d0 sp 483b3ae8 lr > > > 00000000 pc ac04ab2c cpsr 60000010 > > > 10-13 11:22:03.612: INFO/DEBUG(5641): #00 pc 0004ab2c / > > > system/lib/libskia.so > > > 10-13 11:22:03.612: INFO/DEBUG(5641): #01 pc 0004abf0 / > > > system/lib/libskia.so > > > 10-13 11:22:03.612: INFO/DEBUG(5641): #02 pc 000689d4 / > > > system/lib/libskia.so > > > 10-13 11:22:03.622: INFO/DEBUG(5641): #03 pc 00064154 / > > > system/lib/libskia.so > > > 10-13 11:22:03.622: INFO/DEBUG(5641): #04 pc 0004446c / > > > system/lib/libandroid_runtime.so > > > 10-13 11:22:03.622: INFO/DEBUG(5641): code around pc: > > > 10-13 11:22:03.622: INFO/DEBUG(5641): ac04ab1c 0a00001a e1a06005 > > > ebffff9f e1a0c004 > > > 10-13 11:22:03.622: INFO/DEBUG(5641): ac04ab2c e8b6000f e8ac000f > > > e8b6000f e8ac000f > > > 10-13 11:22:03.622: INFO/DEBUG(5641): ac04ab3c e8960003 e88c0003 > > > e5950004 e3500000 > > > 10-13 11:22:03.622: INFO/DEBUG(5641): code around lr: > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > 10-13 11:22:03.892: INFO/DEBUG(5641): debuggerd committing suicide to > > > free the zombie! > > > -- > > 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]<android-developers%[email protected]> > > For more options, visit this group at > >http://groups.google.com/group/android-developers?hl=en > > -- > Kumar Bibekhttp://techdroid.kbeanie.comhttp://www.kbeanie.com
-- 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

