StrictMode:

帮助程序员避免在主线程上执行耗时操作;

启动级别:

1. 启动线程级别:   setThreadPolicy()

2. 启动应用级别 :  setVmPolicy() —— 对于检测应用内部的资源泄漏很有用

可检测线程的如下操作:

1. 磁盘的读和写操作;

2. 访问网络;

3. 运行速度较慢的代码;

可检测整个应用的如下操作:

1. 有界面(Activities)对象泄漏;

2. 有SQLite对象泄漏;

3. 有任何需要显示关闭的对象泄漏,即实现了Closeable接口的对象,在finalizer被调用前,没有调用close函数;

应用违反了这些规则,将受到以下惩罚:

1. 在logcat中打印详细的消息通知;

2. 直接让应用崩溃退出;

3. 不停的闪烁屏幕吸引注意;

4. 在应用上弹出一个对话框提醒开发者;

举例:

在主线程中执行下面的操作是不允许的:

1. 使用new Socket()视图打开一个套接字链接;

2. 使用HttpClient和HttpUrlConnection发送一个Http请求;

3. 尝试连接一个远程的MySQL数据库;

4. 使用Downloader.downloadFile下载一个文件。

Anroid提供了几种方法让其他线程操作UI控件:

1. Activity.runOnUiThread(Runnable);

2. View.post(Runnable); ===> AsyncTask

3. Handler

最新文章

  1. @MappedSuperclass注解的使用说明
  2. Excel 使用宏批量修改单元格内指定文字为红字
  3. Web前端新人笔记之HeightCharts基础
  4. mybatis13 resultMap
  5. BOOST 线程完全攻略 - 结束语
  6. windows在文件夹快速打开命令行
  7. PHP与MySQL交互
  8. 移动端效果之LoadMore
  9. Linux安装rar
  10. Confluence 6 管理协同编辑
  11. ftp的自动部署以及添加虚拟账户的脚本
  12. Google I/O 官方应用中的动效设计
  13. Knockout.Js官网学习(Mapping插件)
  14. pip3 install pymysql
  15. ACM-选人问题(救济金发放)
  16. How to set an Apache Kafka multi node – multi broker cluster【z】
  17. debian上安装docker ce
  18. Kali-linux控制Meterpreter
  19. Android 4.0 x86安装教程 附带联网参数详细设置
  20. Android实例-退出程序

热门文章

  1. day30—使用Flexbox和CSS Grid实现高效布局实践
  2. H3C CAS 介绍 & 基本概念
  3. linux RZ 命令
  4. 2019/10/26 TZOJ
  5. MySQL点滴记录
  6. Mac002--Git安装
  7. HTML表格<tr>行距调整
  8. python参数的介绍
  9. luoguP1312 Mayan游戏 题解(NOIP2011)
  10. CSS动画划入划出酷炫