Android应用程序挂起。为什么呢?

时间:2016-01-14 07:52:26

标签: android performance crash

有时触摸wiz异常出现。我使用了多个服务和线程

Suspending all threads took: 56.213ms
Background partial concurrent mark sweep GC freed 46481(3MB) AllocSpace objects, 424(6MB) LOS objects, 14% free, 97MB/113MB, paused 6.164ms total 249.603ms
如果是touchwiz异常

上面是我的logcat

我也正在获得无消息的垃圾收集。还有堆大小。 我如何解决它? 请帮帮我

1 个答案:

答案 0 :(得分:2)

查看Services

您应该了解的是Services没有自己的process它在main thread process上运行,所以如果您正在做一些重task,那么创建一个thread内的service,否则您执行繁重任务的服务将会导致main thread

您可能想要考虑的其他事项。

由于您的应用消耗了系统分配给您的应用的更多空间,因此application的内存不足。

将此属性android:largeHeap="true"放在<application/>文件<{1}}文件中

例如

manifest.xml

如果你想简单地想要释放一些空间,最好让Android系统处理它,它知道最好的

 <application
    android:name="support.classes.StartUp"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true" // you are increasing the heap space for the app 
    android:theme="@style/AppThemeTest">

在执行任何内存消耗任务之前调用垃圾收集器,因为这将为您释放一些空间。如果你试图在你的任务之后调用它,那么它没有用处