在我的申请中,我有超过20张图片是布局背景。当我添加另一个图像时,应用程序已经停止工作。
01-20 22:01:51.707: E/AndroidRuntime(15045): FATAL EXCEPTION: main
01-20 22:01:51.707: E/AndroidRuntime(15045): Process: xxxxxx, PID: 15045
01-20 22:01:51.707: E/AndroidRuntime(15045): java.lang.OutOfMemoryError
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:677)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:507)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:872)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.content.res.Resources.loadDrawable(Resources.java:3056)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.content.res.Resources.getDrawable(Resources.java:1613)
01-20 22:01:51.707: E/AndroidRuntime(15045): at com.android.internal.widget.ActionBarView.setIcon(ActionBarView.java:1016)
01-20 22:01:51.707: E/AndroidRuntime(15045): at com.android.internal.policy.impl.PhoneWindow.setDefaultIcon(PhoneWindow.java:1543)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.Activity.initActionBar(Activity.java:1996)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.Activity.setContentView(Activity.java:2011)
01-20 22:01:51.707: E/AndroidRuntime(15045): at xxxxxx.onCreate(xxxxx.java:1338)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.Activity.performCreate(Activity.java:5426)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.ActivityThread.access$900(ActivityThread.java:161)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.os.Handler.dispatchMessage(Handler.java:102)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.os.Looper.loop(Looper.java:157)
01-20 22:01:51.707: E/AndroidRuntime(15045): at android.app.ActivityThread.main(ActivityThread.java:5356)
01-20 22:01:51.707: E/AndroidRuntime(15045): at java.lang.reflect.Method.invokeNative(Native Method)
01-20 22:01:51.707: E/AndroidRuntime(15045): at java.lang.reflect.Method.invoke(Method.java:515)
01-20 22:01:51.707: E/AndroidRuntime(15045): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
01-20 22:01:51.707: E/AndroidRuntime(15045): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
01-20 22:01:51.707: E/AndroidRuntime(15045): at dalvik.system.NativeStart.main(Native Method)在方法onCreate()中同时加载图像。
main.xml:
<LinearLayout
android:id="@+id/linearLayout27"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/abc"
android:orientation="vertical" >onCreate():
layout26 = (LinearLayout) findViewById(R.id.linearLayout27);
layout26.setOnClickListener(this);我应该补充说,每幅图像的大小约为400 x 800像素。
我知道这个问题在这里已经出现了,但我无法为我的案件找到解决办法。
发布于 2015-01-21 10:53:02
在使用android位图时,这是一个非常常见的问题。我加点这个
android:largeHeap=“true”在清单文件中,但是最近我一直在使用Picasso jar,它在处理图像时非常好。默认情况下,它还提供缓存。这里有一个链接可以帮助您启动http://square.github.io/picasso/
https://stackoverflow.com/questions/28065209
复制相似问题