android.os.NetworkOnMainThreadException
16lz
2022-03-11
项目中在设置ImageView的地址为网络路径的时候出现一个“android.os.NetworkOnMainThreadException ”,上网找了一下解决方法,在这里记录一下
在android 2.3上设计的下载程序,在android 4.0上运行时报android.os.NetworkOnMainThreadException 异常,原来在4.0中,访问网络不能在主程序中进行,有两个方法可以解决,一个是在主程序中增加:
// 详见StrictMode文档 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() // or .detectAll() for all detectable problems .penaltyLog() .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build());
另一种是启动线程执行下载任务:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 启动线程执行下载任务 new Thread(downloadRun).start(); } /** * 下载线程 */ Runnable downloadRun = new Runnable(){@Overridepublic void run() {// TODO Auto-generated method stubupdateListView();} };
更多相关文章
- Android(安卓)SDK开发包国内下载地址
- Android(安卓)Studio Gradle两种更新方式
- Java(Android)线程池
- Android(安卓)UndoBar介绍
- android Sqlite多线程访问异常解决方案
- 在Android中实现文件读写
- Android输入管理_InputManager服务启动
- Android(安卓)DownloadManager下载进度查询(系列3)
- Android(安卓)打开pdf文档,没有阅读器链接到Google Play Store等