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