1
我在我的Android應用程序中嘗試使用17位圖像作爲位圖。但是,當我嘗試啓動此活動時,它將返回java.lang.OutOfMemoryError
。我真的無法解決這個問題。任何人都可以有一個確切的解決方案嗎?我的onCreate()
如下。謝謝。使用位圖圖像生成OutOfMemoryError
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.seviyor);
activityHead=(ImageView) findViewById(R.id.activityhead1);
shake = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
Options options=new Options();
options.inSampleSize=1;
for(int i=0;i<17;i++){
bmImages[i]=BitmapFactory.decodeResource(getResources(),drwbles[i] , options);
}
initilizeToastBackground();
initilizeButtonsFor16Leafs();
initilize16Lisener();
resultIntent=new Intent(this,ResultFrame.class);
fortuneCon=16;
for(int i=0;i<17;i++){
leafs[i]=(ImageView) findViewById(leafIDs[i]);
}
for(int i=0;i<17;i++){
leafs[i].setImageBitmap(bmImages[i]);
}
Bundle frompreviousInent=getIntent().getExtras();
categoryName=frompreviousInent.getString("category");
setHeadOfActivity();
}
,這是我的logcat ...
07-12 15:21:11.465: E/AndroidRuntime(23419): FATAL EXCEPTION: main
07-12 15:21:11.465: E/AndroidRuntime(23419): java.lang.OutOfMemoryError
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.Bitmap.nativeCreate(Native Method)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:437)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:618)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:593)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:445)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:468)
07-12 15:21:11.465: E/AndroidRuntime(23419): at com.done.SS.onCreate(SS.java:65)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.app.Activity.performCreate(Activity.java:4562)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.app.ActivityThread.access$600(ActivityThread.java:128)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.os.Handler.dispatchMessage(Handler.java:99)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.os.Looper.loop(Looper.java:137)
07-12 15:21:11.465: E/AndroidRuntime(23419): at android.app.ActivityThread.main(ActivityThread.java:4514)
07-12 15:21:11.465: E/AndroidRuntime(23419): at java.lang.reflect.Method.invokeNative(Native Method)
07-12 15:21:11.465: E/AndroidRuntime(23419): at java.lang.reflect.Method.invoke(Method.java:511)
07-12 15:21:11.465: E/AndroidRuntime(23419): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
07-12 15:21:11.465: E/AndroidRuntime(23419): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
07-12 15:21:11.465: E/AndroidRuntime(23419): at dalvik.system.NativeStart.main(Native Method)
請張貼logcat的輸出 – 2012-07-12 12:20:07
重複:http://stackoverflow.com/questions/11447409/java-lang -outofmemoryerror-in-my-android-application/11447773#11447773 – 2012-07-12 12:21:06
調試你的代碼並開始在[this]上進行通信(http://stackoverflow.com/questions/11447409/java-lang-outofmemoryerror-in-my-android-應用程序/ 11447773#11447773)你在早上問。所以你應該刪除這個問題,否則管理確定關閉這個問題 – 2012-07-12 12:26:12