hi i create a image gallery with grid View from This Tutorial http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/галерею изображений с GridView в андроиде
i add 70 image to ImageAdapter.java and run app and force close.
09-08 20:24:29.242: D/dalvikvm(4971): GC_EXTERNAL_ALLOC freed <1K, 48% free 2818K/5379K, external 59477K/61525K, paused 26ms
09-08 20:24:29.250: E/dalvikvm-heap(4971): 1638400-byte external allocation too large for this process.
09-08 20:24:29.281: I/dalvikvm-heap(4971): Clamp target GC heap from 65.182MB to 64.000MB
09-08 20:24:29.281: D/dalvikvm(4971): GC_FOR_MALLOC freed 0K, 48% free 2818K/5379K, external 59477K/61525K, paused 20ms
09-08 20:24:29.289: E/GraphicsJNI(4971): VM won't let us allocate 1638400 bytes
09-08 20:24:29.289: D/skia(4971): --- decoder->decode returned false
09-08 20:24:29.312: W/dalvikvm(4971): threadid=1: thread exiting with uncaught exception (group=0x40015578)
09-08 20:24:29.398: E/AndroidRuntime(4971): FATAL EXCEPTION: main
09-08 20:24:29.398: E/AndroidRuntime(4971): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:563)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:439)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.content.res.Resources.loadDrawable(Resources.java:1709)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.content.res.Resources.getDrawable(Resources.java:581)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.ImageView.resolveUri(ImageView.java:501)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.ImageView.setImageResource(ImageView.java:280)
09-08 20:24:29.398: E/AndroidRuntime(4971): at com.example.androidhive.ImageAdapter.getView(ImageAdapter.java:110)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.AbsListView.obtainView(AbsListView.java:1567)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.GridView.makeAndAddView(GridView.java:1254)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.GridView.makeRow(GridView.java:300)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.GridView.fillDown(GridView.java:253)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.GridView.fillGap(GridView.java:220)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4132)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.widget.AbsListView.onTouchEvent(AbsListView.java:2588)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.view.View.dispatchTouchEvent(View.java:3938)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
09-08 20:24:29.398: E/AndroidRuntime(4971): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1733)
09-08 20:24:29.398: E/AndroidRuntime(4971): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1151)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.app.Activity.dispatchTouchEvent(Activity.java:2096)
09-08 20:24:29.398: E/AndroidRuntime(4971): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1717)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2215)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.view.ViewRoot.handleMessage(ViewRoot.java:1886)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.os.Handler.dispatchMessage(Handler.java:99)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.os.Looper.loop(Looper.java:130)
09-08 20:24:29.398: E/AndroidRuntime(4971): at android.app.ActivityThread.main(ActivityThread.java:3689)
09-08 20:24:29.398: E/AndroidRuntime(4971): at java.lang.reflect.Method.invokeNative(Native Method)
09-08 20:24:29.398: E/AndroidRuntime(4971): at java.lang.reflect.Method.invoke(Method.java:507)
09-08 20:24:29.398: E/AndroidRuntime(4971): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
09-08 20:24:29.398: E/AndroidRuntime(4971): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
09-08 20:24:29.398: E/AndroidRuntime(4971): at dalvik.system.NativeStart.main(Native Method)
Q1 : Whats this error ?
Q2 : Whats Best Way For Create Gallery Image ???
Q1: Он говорит: 'java.lang.OutOfMemoryError: размер растрового изображения превышает VM budget' –
Что это? моя память - проблема или мое приложение? – Eli
Вы пытаетесь загрузить слишком большое изображение. Он не может храниться в памяти кучи VM. –