应用程序在发布后崩溃

时间:2013-12-21 10:37:10

标签: android xml android-layout

此应用程序正在处理工作正常,图像较少没有特定的图像尺寸。但我需要使用大量的图像,并且无法安装在手机内存中我尝试在我的SD上安装应用程序卡并得到此错误。 无法理解为什么。 如何解决这个问题

这就是log cat所说的

E/dalvikvm-heap(17405): Out of memory on a 3234424-byte allocation.
E/AndroidRuntime(17405): FATAL EXCEPTION: main
E/AndroidRuntime(17405): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mystictreegames.pagecurl/com.mystictreegames.pagecurl.StandaloneExample}: android.view.InflateException: Binary XML file line #6: Error inflating class com.mystictreegames.pagecurl.PageCurlView
E/AndroidRuntime(17405):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343)
E/AndroidRuntime(17405):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
E/AndroidRuntime(17405):    at android.app.ActivityThread.access$600(ActivityThread.java:162)
E/AndroidRuntime(17405):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
E/AndroidRuntime(17405):    at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(17405):    at android.os.Looper.loop(Looper.java:194)
E/AndroidRuntime(17405):    at android.app.ActivityThread.main(ActivityThread.java:5371)
E/AndroidRuntime(17405):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(17405):    at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime(17405):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
E/AndroidRuntime(17405):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
E/AndroidRuntime(17405):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(17405): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class com.mystictreegames.pagecurl.PageCurlView
E/AndroidRuntime(17405):    at android.view.LayoutInflater.createView(LayoutInflater.java:613)

我的存储卡几乎是空的。

这是standalone_example.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <com.mystictreegames.pagecurl.PageCurlView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/dcgpagecurlPageCurlView1"
        android:background="@drawable/background">
    </com.mystictreegames.pagecurl.PageCurlView>
</LinearLayout>

我的main.xml只包含一个图像按钮 我应该发布那个吗?

2 个答案:

答案 0 :(得分:0)

确保将PageCurlView放在com.mystictreegames.pagecurl

答案 1 :(得分:-1)

您必须使用bitmap.recycle()回收位图。如果您不回收位图,则可能会出现内存不足的情况。

所以使用

bitmap.recycle();
bitmap = null;

这将确保位图被垃圾收集。

如果这是内存问题,那么你可以使用

 android:largeHeap="true"

在清单应用程序代码中。这将允许您加载更多的位图...希望这将对您有所帮助。快乐的编码...