2011-10-26 44 views
2

我想将两个位图结合在一起。但是,它不能结合超过1600X1200的2张图像。任何人都可以帮我解决这个问题吗?有人告诉我,它可以放大应用程序的已用内存。 这里的错误日志在Android上结合位图

> 10-26 12:07:16.492: ERROR/AndroidRuntime(3221): java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.graphics.Bitmap.nativeCreate(Native Method) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.graphics.Bitmap.createBitmap(Bitmap.java:468) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.graphics.Bitmap.createBitmap(Bitmap.java:423) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.graphics.Bitmap.createBitmap(Bitmap.java:374) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at com.org.testing.TestingActivity.crop(TestingActivity.java:102) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at com.org.testing.TestingActivity.access$0(TestingActivity.java:97) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at com.org.testing.TestingActivity$2.onClick(TestingActivity.java:54) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.view.View.performClick(View.java:2428) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.view.View$PerformClick.run(View.java:8939) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.os.Handler.handleCallback(Handler.java:587) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.os.Handler.dispatchMessage(Handler.java:92) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.os.Looper.loop(Looper.java:123) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at android.app.ActivityThread.main(ActivityThread.java:4668) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at java.lang.reflect.Method.invokeNative(Native Method) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at java.lang.reflect.Method.invoke(Method.java:521) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) 
10-26 12:07:16.492: ERROR/AndroidRuntime(3221):  at dalvik.system.NativeStart.main(Native Method) 
+1

为什么不使用Bitmap.createScaledbitmap()来减小位图的大小。 – surendra

回答

1

你有三个选择:

  1. 按比例缩小图片。有一个16 MB的堆限制
  2. 使用ndk来做到这一点,这个限制不适用
  3. 做它的服务器端。
+0

是否有任何方法可以打破堆限制? – newstartgirls