更改方向时应用程序崩溃

时间:2013-12-22 09:42:36

标签: android performance out-of-memory android-background

在应用程序中,我正在尝试使用图像卷曲视图。我的应用程序只能在纵向视图中正常工作。我尝试更改方向的时刻。应用程序崩溃或终止(是的,其中任何一个)

我已经遵循了一些StackOverflow建议并获得了使用

的响应
android:configChanges="orientation|keyboardHidden|screenSize|screenLayout"

但仍然崩溃/终止。 这是我从基本代码中获取的链接。(我只添加了35个图像,其中只使用了2个代码),我在android清单中设置了大堆size = true。

https://github.com/MysticTreeGames/android-page-curl

有人建议像onpause()那样处理代码,但是在GIT项目中没有onCreate()方法。 如何解决这个问题。

发生崩溃时这是我的logcat错误

E/AndroidRuntime(9839): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class <unknown>
E/AndroidRuntime(9839):     at android.view.LayoutInflater.createView(LayoutInflater.java:613)
E/AndroidRuntime(9839):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
E/AndroidRuntime(9839):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
E/AndroidRuntime(9839):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
E/AndroidRuntime(9839):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
E/AndroidRuntime(9839):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
E/AndroidRuntime(9839):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:281)
E/AndroidRuntime(9839):     at android.app.Activity.setContentView(Activity.java:1881)
E/AndroidRuntime(9839):     at com.mystictreegames.pagecurl.StandaloneExample.onCreate(StandaloneExample.java:21)
E/AndroidRuntime(9839):     at android.app.Activity.performCreate(Activity.java:5122)
E/AndroidRuntime(9839):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
E/AndroidRuntime(9839):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
E/AndroidRuntime(9839):     ... 11 more
E/AndroidRuntime(9839): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime(9839):     at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime(9839):     at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
E/AndroidRuntime(9839):     at android.view.LayoutInflater.createView(LayoutInflater.java:587)
E/AndroidRuntime(9839):     ... 22 more
E/AndroidRuntime(9839): Caused by: java.lang.OutOfMemoryError
E/AndroidRuntime(9839):     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
E/AndroidRuntime(9839):     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:521)
E/AndroidRuntime(9839):     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:374)
E/AndroidRuntime(9839):     at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:397)
E/AndroidRuntime(9839):     at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:427)
E/AndroidRuntime(9839):     at com.mystictreegames.pagecurl.PageCurlView.init(PageCurlView.java:318)
E/AndroidRuntime(9839):     at com.mystictreegames.pagecurl.PageCurlView.<init>(PageCurlView.java:233)

我还注意到有一个内存不足的异常,当它处于纵向模式时应用程序如何工作。 为什么在方向改变时崩溃/终止。

1 个答案:

答案 0 :(得分:0)

您收到OutOfMemoryError:按照此处的说明操作如何加载大型位图:http://developer.android.com/training/displaying-bitmaps/load-bitmap.html