android.os.NetworkOnMainThreadException
16lz
2022-03-12
项目中在设置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();} };
更多相关文章
- Ubuntu搭建Eclipse+JDK+SDK的Android
- Android非主线程更新UI
- 在Windows下搭建Android开发环境
- android framework 输入事件分析
- android.os.NetworkOnMainThreadException
- Android(安卓)SDK开发包国内下载地址
- Android第九课 Toast 用法注意事项
- Android(安卓)Tools集合下载
- Android(安卓)打开pdf文档,没有阅读器链接到Google Play Store等