2011-02-11 39 views
5

Trong khi sử dụng trình giả lập tổ ong được hiển thị theo lỗi sau và trở nên rất chậm.keyDispatchingTimedOut khi sử dụng trình giả lập

02-11 02:58:50.949: ERROR/ActivityManager(365): ANR in com.android.launcher (com.android.launcher/com.android.launcher2.Launcher) 
02-11 02:58:50.949: ERROR/ActivityManager(365): Reason: keyDispatchingTimedOut 
02-11 02:58:50.949: ERROR/ActivityManager(365): Load: 2.57/1.18/0.89 
02-11 02:58:50.949: ERROR/ActivityManager(365): CPU usage from 3042ms to -7585ms ago: 
02-11 02:58:50.949: ERROR/ActivityManager(365): 74% 365/system_server: 53% user + 21% kernel/faults: 335 minor 
02-11 02:58:50.949: ERROR/ActivityManager(365): 9% 780/zygote: 3.8% user + 5.1% kernel/faults: 915 minor 
02-11 02:58:50.949: ERROR/ActivityManager(365): 8.2% 684/com.android.launcher: 6% user + 2.1% kernel/faults: 51 minor 
02-11 02:58:50.949: ERROR/ActivityManager(365): 0% 432/zygote: 0% user + 0% kernel/faults: 22 minor 
02-11 02:58:50.949: ERROR/ActivityManager(365): 2.4% 41/adbd: 0.3% user + 2% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 0.4% 546/com.android.systemui: 0.1% user + 0.2% kernel/faults: 11 minor 
02-11 02:58:50.949: ERROR/ActivityManager(365): 0.5% 733/logcat: 0% user + 0.5% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 0% 425/zygote: 0% user + 0% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 0% 28/servicemanager: 0% user + 0% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 100% TOTAL: 65% user + 34% kernel + 0.6% softirq 
02-11 02:58:50.949: ERROR/ActivityManager(365): CPU usage from 9680ms to 11220ms later: 
02-11 02:58:50.949: ERROR/ActivityManager(365): 70% 365/system_server: 28% user + 42% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365):  49% 396/InputDispatcher: 18% user + 30% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365):  21% 366/HeapWorker: 8.1% user + 13% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 26% 78014% user + 11% kernel/faults: 323 minor 
02-11 02:58:50.949: ERROR/ActivityManager(365):  20% 780/.ap: 10% user + 10% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365):  5.4% 781/HeapWorker: 4.6% user + 0.7% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 1.3% 41/adbd: 0% user + 1.3% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365):  0.6% 41/adbd: 0% user + 0.6% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365):  0.6% 65/adbd: 0% user + 0.6% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 0.7% 684/com.android.launcher: 0.7% user + 0% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365):  0.7% 684/ndroid.launcher: 0.7% user + 0% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365):  0.7% 691/Binder Thread #: 0.7% user + 0% kernel 
02-11 02:58:50.949: ERROR/ActivityManager(365): 100% TOTAL: 40% user + 58% kernel + 0.6% softirq 

Điều gì đã xảy ra ở đây. Những gì tôi cần sửa lỗi này?
cảm ơn bạn

+0

Tôi cũng đang gặp phải vấn đề tương tự ... bạn có tìm thấy bất kỳ giải pháp nào – Nargis

Trả lời

1
  • 1) Bạn có thể đã sử dụng Thread.Sleep() trong thread UI của bạn. Đó không phải là mát mẻ và android chỉ đá hoạt động của bạn.

  • 2) Bạn đang thực hiện một số tính toán ass xấu lớn trong chuỗi giao diện người dùng của mình. Sử dụng một số AsyncTask hoặc Chủ đề.

  • 3) Trình mô phỏng đôi khi chậm hơn điện thoại.

1

Lỗi này là do thời gian hoạt động của bạn mất nhiều thời gian để chạy Activity.

http://developer.android.com/training/articles/perf-anr.html

Nếu bạn đã làm bất kỳ công việc phức tạp trong giao diện người dùng của bạn là thread ứng dụng của bạn sẽ trở nên rất chậm. để giải quyết vấn đề này, bạn có thể sử dụng painless thread, painless thread.

lấy từ câu trả lời của Blundell.

Tôi hy vọng điều này sẽ giúp bạn.

2

Đây là thực sự ANR (Activity not responding)

hoạt động của bạn đang tiến hành đủ lâu để thực hiện nhiệm vụ mà bạn cung cấp

Dưới đây liên kết có thông tin về làm thế nào để bắt nó phải được đáp ứng qua THREADS.

Bạn nên thực hiện log chạy nhiệm vụ nặng nề ở riêng biệt THREAD hoặc Async Task

Simlar Problen in SO with solution Here

Here

+0

liên kết thực sự hữu ích không –

0

Có vẻ như nếu bạn đang làm một số tính toán phức tạp vào thời điểm đó khi hoạt động đang tải.

ANR(Activity Not Responding)

chung ANR là kích hoạt nếu Activity không kể hệ điều hành android rằng "tôi vẫn còn sống". android Developer.

Bạn cần thực thi theo cách không đồng bộ. Vì vậy, đối với một trường hợp nếu bạn muốn làm một số quá trình chờ đợi lâu dài onClick().

public void onClick(View v) { 
    new DownloadImageTask().execute("http://example.com/image.png");// Any time Taking Event. 
} 

private class DownloadImageTask extends AsyncTask { 
    protected Bitmap doInBackground(String... urls) { 
     return loadImageFromNetwork(urls[0]); 
    } 

    protected void onPostExecute(Bitmap result) { 
     mImageView.setImageBitmap(result); 
    } 
} 
Các vấn đề liên quan