From 9fc2fc5757a3d28d098bd2b0ad0f869a3cf3fa14 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Mon, 11 Oct 2010 12:52:35 -0700 Subject: StrictMode: link to designing for responsiveness ANR docs Change-Id: If65849aaa8317e7e40b2837b640a5cdb95fe7b0e --- core/java/android/os/StrictMode.java | 5 ++++- docs/html/guide/practices/design/responsiveness.jd | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java index c185007f103e..de5b7b9c5f89 100644 --- a/core/java/android/os/StrictMode.java +++ b/core/java/android/os/StrictMode.java @@ -38,7 +38,10 @@ import java.util.HashMap; * network access on the application's main thread, where UI * operations are received and animations take place. Keeping disk * and network operations off the main thread makes for much smoother, - * more responsive applications. + * more responsive applications. By keeping your application's main thread + * responsive, you also prevent + * ANR dialogs + * from being shown to users. * *

Note that even though an Android device's disk is * often on flash memory, many devices run a filesystem on top of that diff --git a/docs/html/guide/practices/design/responsiveness.jd b/docs/html/guide/practices/design/responsiveness.jd index b811d1b911be..a00e3aa65114 100644 --- a/docs/html/guide/practices/design/responsiveness.jd +++ b/docs/html/guide/practices/design/responsiveness.jd @@ -99,6 +99,10 @@ responsive to input and thus avoid ANR dialogs caused by the 5 second input event timeout. These same practices should be followed for any other threads that display UI, as they are also subject to the same timeouts.

+

You can use {@link android.os.StrictMode} to help find potentially +long running operations such as network or database operations that +you might accidentally be doing your main thread.

+

The specific constraint on IntentReceiver execution time emphasizes what they were meant to do: small, discrete amounts of work in the background such as saving a setting or registering a Notification. So as with other methods -- cgit v1.2.3-59-g8ed1b