【问题标题】:ERROR/ActivityManager(60) has anyone encountered this on Android Emulator?ERROR/ActivityManager(60) 有人在 Android Emulator 上遇到过这个问题吗?
【发布时间】:2010-10-11 05:39:50
【问题描述】:

每当我启动应用程序时,它都会引用下面的日志强制关闭。这是 CPU 过载问题还是内存管理问题?我真的不明白如何解决这个问题? 非常感谢任何帮助。

我正在运行 Eclipse v 3.5.2 和 Android SDK 0.98,而 AVD 是 Froyo (2.2)

DDMS 日志

10-10 23:53:53.379: ERROR/ActivityManager(60): ANR in Test.Tooyoou 10-10 23:53:53.379: ERROR/ActivityManager(60): 原因:执行服务 Test.Tooyouou/.TooyoouWidget$UpdateService 10-10 23:53:53.379:错误/活动管理器(60):负载:1.17 / 0.68 / 0.26 10-10 23:53:53.379: ERROR/ActivityManager(60): CPU 使用率从 20436 毫秒到 33 毫秒前: 10-10 23:53:53.379: 错误/ActivityManager(60): adbd: 3% = 0% 用户 + 3% 内核/故障: 10 次要 10-10 23:53:53.379: 错误/ActivityManager(60): Test.Tooyoou: 2% = 2% 用户 + 0% 内核/故障: 197 次要 4 主要 10-10 23:53:53.379: 错误/ActivityManager(60): system_server: 2% = 1% 用户 + 0% 内核/故障: 134 次要 2 主要 10-10 23:53:53.379: 错误/ActivityManager(60): ndroid.settings: 1% = 1% 用户 + 0% 内核/故障: 3016 次要 12 主要 10-10 23:53:53.379: 错误/ActivityManager(60): ndroid.launcher: 0% = 0% 用户 + 0% 内核/故障: 32 次要 10-10 23:53:53.379: 错误/ActivityManager(60): m.android.phone: 0% = 0% 用户 + 0% 内核/故障: 174 次要 10-10 23:53:53.379: 错误/ActivityManager(60): ronsoft.openwnn: 0% = 0% 用户 + 0% 内核/故障: 99 次要 10-10 23:53:53.379: 错误/ActivityManager(60): d.process.media: 0% = 0% 用户 + 0% 内核/故障: 22 次要 10-10 23:53:53.379: ERROR/ActivityManager(60): netd: 0% = 0% user + 0% kernel/faults: 64 minor 1 major 10-10 23:53:53.379: 错误/ActivityManager(60): com.svox.pico: 0% = 0% 用户 + 0% 内核/故障: 26 次小 10-10 23:53:53.379: 错误/ActivityManager(60): +sh: 0% = 0% 用户 + 0% 内核 10-10 23:53:53.379: 错误/ActivityManager(60): +logcat: 0% = 0% 用户 + 0% 内核 10-10 23:53:53.379: ERROR/ActivityManager(60): TOTAL: 11% = 5% user + 4% kernel + 0% irq + 0% softirq

【问题讨论】:

    标签: android


    【解决方案1】:

    好的,伙计们,我想我解决了这个非常丑陋的错误背后的问题。小部件的 BroadcastReceiver TimeOut 和更新服务存在一些问题,耗时过长。在这里,我如何解决它。

    我没有使用 AppWidget 的服务来做所有事情,而是创建了一个线程来完成所有关键的更新工作。

    public static class UpdateService extends Service {
            Thread widgetUpdateThread;
            @Override
            public void onStart(Intent intent, int startId) {
    
            widgetUpdateThread = new Thread(){
                public void run(){
                    RemoteViews updateViews =   
                                           buildUpdate(getApplicationContext());
                                ComponentName thisWidget = new 
                                  ComponentName(getApplicationContext(), 
                                                           TooyoouWidget.class);
                    AppWidgetManager manager =  
                          AppWidgetManager.getInstance(getApplicationContext());
                          manager.updateAppWidget(thisWidget, updateViews);
    
                }
            };
            widgetUpdateThread.start();
        }
    
        @Override
        public void onDestroy(){
            widgetUpdateThread.interrupt();
            super.onDestroy();
        }
    
         public RemoteViews buildUpdate(Context context) {
         //your code to create the Remoteviews update
    

    }

    }

    一旦我使用了 Thread,一切都像魅力一样工作,那个丑陋的错误就消失了。这可能对你们中的一些人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-28
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2011-10-01
      • 1970-01-01
      相关资源
      最近更新 更多