3.12保持你的应用程序snappy与StrictMode
问题
你想确保你的应用程序的GUI是尽可能快速。
解
Android有一个名为StrictMode的工具,它将检测所有可能发生“应用程序无响应”(ANR)错误的情况。例如,它将检测并记录LogCat在主线程(即GUI线程)上发生的所有数据库读取和写入。
讨论
我希望我可以使用像StrictMode的工具,当我在做Java Swing桌面开发。确保我们的Java Swing应用程序是快乐的是一个不断的挑战:绿色和经验丰富的工程师都将一直在UI线程上执行数据库操作,将导致应用程序打嗝。通常,当QA(或客户)使用应用程序的数据集大于工程师测试的数据集时,我们发现这些打嗝。 QA发现这些小缺陷是不可接受的,最终浪费了每个人的时间(和公司的钱)。我们最终通过更多地投资于同行评审来解决这个问题,但是拥有像StrictMode这样的工具本来就相对便宜。
以下示例代码说明了在应用中打开StrictMode的难易程度:
问题
你想确保你的应用程序的GUI是尽可能快速。
解
Android有一个名为StrictMode的工具,它将检测所有可能发生“应用程序无响应”(ANR)错误的情况。例如,它将检测并记录LogCat在主线程(即GUI线程)上发生的所有数据库读取和写入。
讨论
我希望我可以使用像StrictMode的工具,当我在做Java Swing桌面开发。确保我们的Java Swing应用程序是快乐的是一个不断的挑战:绿色和经验丰富的工程师都将一直在UI线程上执行数据库操作,将导致应用程序打嗝。通常,当QA(或客户)使用应用程序的数据集大于工程师测试的数据集时,我们发现这些打嗝。 QA发现这些小缺陷是不可接受的,最终浪费了每个人的时间(和公司的钱)。我们最终通过更多地投资于同行评审来解决这个问题,但是拥有像StrictMode这样的工具本来就相对便宜。
以下示例代码说明了在应用中打开StrictMode的难易程度:
// make sure you import StrictMode
import android.os.StrictMode;
// In your app's Application or Activity instance, add the following
// lines to the onCreate(...) method.
if (Build.VERSION.SDK_INT >= 9 && isDebug() ) {
StrictMode.enableDefaults();
}