首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android应用程序挂起。为什么?

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

Stack Overflow用户
提问于 2016-01-14 15:52:26
回答 1查看 104关注 0票数 2

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

代码语言:javascript
运行
复制
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

我也得到了堆大小的消息免费垃圾collection.and。我该如何修复它?请帮帮我

EN

回答 1

Stack Overflow用户

发布于 2016-01-14 15:54:55

查看Services

你应该明白的是,Services没有自己的process,它在main thread process上运行,所以如果你正在做一些繁重的task,那么在service中创建一个thread,否则你正在做繁重任务的服务将会使main thread陷入泥潭。

你可能需要考虑的其他事情。

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

将此属性android:largeHeap="true"放入manifest.xml文件的<application/>

例如

代码语言:javascript
运行
复制
 <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">

如果你只是想释放一些空间,最好让Android系统来处理它,因为它知道的最好

代码语言:javascript
运行
复制
System.gc()

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34784206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档