android低内存:没有更多的后台进程?需要帮忙

Pra*_*ham 3 android memory-management android-layout

我面临着记忆力低的问题.Low memory:no more background process这是场景.

我正在使用一个从字符串数组中获取数据的列表,它具有自定义背景,单击项目,列表获取另一个字符串数组以显示为第二级或第三级.用数据库写的三个级别的信息.

在第三级之后,还有两个级别可以从Web服务获取数据,

这导致低内存错误.

我该如何摆脱解决方案?

编辑:在进行了一些挖掘后,我发现GC正在尝试(杀死或)重启,以防其已经崩溃的com.android.inputmethod.latin/.latinIME服务.一个值得注意的一点是应用程序是用法语和意大利语翻译的,但是这个屏幕没有任何翻译文本,这个信息有帮助吗?

编辑2:在对traceview进行详细研究后,我发现所有文本视图都在其中应用了自定义字体.(调用TypeFace.createFromAsset())IMO导致崩溃.

问题在于我必须保留字体.... 可以避免崩溃并且有字体吗?(因为我认为答案是否定的:但仍在等待一些意见)

编辑3:删除自定义字体后,应用程序的性能要好得多.因此,我可以怀疑字体是这里唯一的罪魁祸首.这就是我编辑问题的原因.我使用的字体是helvetica.

使用外部字体会导致应用程序崩溃或内存不足吗?如果是,你能更详细地描述原因吗?

谢谢

Cam*_*ron 11

如果您使用的代码类似于:

Typeface font = Typeface.createFromAsset(getContext().getAssets(),
"fonts/Helvetica.ttf");
Run Code Online (Sandbox Code Playgroud)

尝试将"font"设为全局变量,以便只加载一次.否则可以反复加载,快速消耗内存.有关详细信息,请参阅此消息