【问题标题】:My Application freezes我的应用程序冻结
【发布时间】:2017-12-01 08:48:49
【问题描述】:

我正在为指纹读取器开发一个安卓应用程序,我的操作包括验证用户指纹(连续)和注册新指纹(从 Web API 获取指纹)。 我正在使用 Morpho MSO 1300 指纹读取器。

当我运行我的应用程序时,我不断收到以下 logcat 消息

01-02 11:19:48.910 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:49.350 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放295K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:49.770 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:50.210 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放295K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:50.630 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:51.070 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:51.570 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放295K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:52.070 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:52.570 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放295K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:53.000 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:53.500 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放295K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:53.930 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:54.360 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放295K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:54.800 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3633K/4540K,暂停14ms,共14ms 01-02 11:19:55.300 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放 336K,释放 20% 3652K/4540K,暂停 14ms,共 14ms 01-02 11:19:55.730 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放301K,释放20% 3644K/4540K,暂停14ms,共14ms 01-02 11:19:56.150 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放295K,释放20% 3644K/4540K,暂停15ms,共15ms 01-02 11:19:56.600 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3644K/4540K,暂停14ms,共14ms 01-02 11:19:57.010 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3644K/4540K,暂停14ms,共14ms 01-02 11:19:57.440 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放 295K,释放 20% 3644K/4540K,暂停 14ms,共 14ms 01-02 11:19:57.880 5286-11417/com.cms.attendance D/dalvikvm: GC_FOR_ALLOC 释放293K,释放20% 3644K/4540K,暂停14ms,共14ms 01-02 11:19:58.030 24732-24776/com.baidu.video.pad:下载V/P2PBase: [11:19:58:040][P2PBase] dns : media.p2sp.baidu.com 解析失败。 等待 3

当我增加应用程序中的数据时,假设我从 Web API 获得了 1000 个用户,我尝试处理它们并将它们注册到指纹读取器和 sqlite 数据库中,最终我的应用程序冻结了。

任何帮助将不胜感激。

【问题讨论】:

  • 请发布您的代码。

标签: android memory-management garbage-collection android-anr-dialog


【解决方案1】:

这个日志意味着垃圾收集器刚刚释放了内存。你做了很多分配,这就是为什么 GC 必须经常工作的原因。

我建议您使用 Android Profiler (Android Studio 3.0) 并尝试解决这个问题:https://developer.android.com/studio/profile/memory-profiler.html 或过去你的代码,以便我们可以一起考虑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    相关资源
    最近更新 更多