Android开发者网站关于android.os.networkonmainthreadexception的描述
http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html
The exception that is thrown when an application attempts
to perform a networking operation on its main thread. This is only thrown for applications targeting the Honeycomb
SDK or higher. Applications targeting earlier SDK versions
are allowed to do networking on their main event loop threads,
but it's heavily discouraged.
原来,在Android3.0(Honeycomb SDK)以后就不允许在主线程下直接操作网络了。因为网络操作可能导致界面无响应Application Not Responding (ANR) 。
http://developer.android.com/guide/practices/responsiveness.html
In Android, application responsiveness is monitored by the Activity Manager
and Window Manager system services. Android will display the ANR dialog
for a particular application when it detects one of the following
conditions:
- No response to an input event (e.g. key press, screen touch)
within 5 seconds
- A
BroadcastReceiver
hasn't finished executing within 10 seconds
网上说道,有两种解决方法:
一种是启用 StrictMode
另一种是使用 Thread
一般情况下还是使用线程好些
分享到:
相关推荐
在Android开发中,`Caused by: android.os.NetworkOnMainThreadException` 是一个常见的错误,它意味着开发者尝试在主线程(UI线程)中执行网络操作,这是被禁止的。自Android 4.0 (API Level 14)以后,为了保证用户...
在Android系统中,`.x509`证书用于验证应用程序、系统更新以及其他组件的来源和完整性,确保只有可信的软件能够安装和运行。 `.pk8`文件则代表私钥的封装格式,它是Android特有的,用于存储私钥信息。私钥与`.x509`...
android.os.NetworkOnMainThreadException 解决事情应该优先解决一件事情,总是三心二意,最后塞翁失马 文章目录android.os.NetworkOnMainThreadException问题分析查阅资料解决方案知识要点: RunOnUiThread 和 new...
2. 接着,将`platform.x509.pem`和`platform.pk8`与`signapk.jar`放在同一个目录下。 3. 使用命令行,运行`java -jar signapk.jar platform.x509.pem platform.pk8 your_app.apk signed_app.apk`。这个命令会使用...
描述中提到,在Ubuntu 64位14.04.1环境下编译了Android 5.0.0的源码,这表明这是一个涉及到Android系统底层开发的过程。Android源码是开放的,允许开发者深入理解系统工作原理,并根据需要进行自定义修改。编译源码...
Android 4.0源代码是Android操作系统的冰激凌三明治(Ice Cream Sandwich)版本的底层实现,它包含了Android应用程序框架以及系统服务的核心组件。这个压缩包包含了一系列的源码目录,每个目录对应不同的模块,如...
Android support.v7包
在Android平台上,`android.hardware.camera2`是官方提供的高级相机API,它提供了更精细的控制和更高的灵活性,使得开发者能够创建具有专业级别的自定义相机应用。这个API在Android 5.0(API级别21)引入,替代了...
Android 4.0,也被称为Ice Cream Sandwich (ICS),是Google在2011年推出的一个重要的Android操作系统版本。这个版本引入了许多新功能和改进,为开发者提供了更强大的平台,同时也提升了用户体验。本文将深入探讨...
实现静默安装必须拥有该机器的系统签名,所以安装程序必须得拥有系统签名 实现系统签名必须得拥有两个签名文件和一个jar包 platform.pk8 platform.x509.pem signapk.jar 1.cd到以上三个文件的目录去 2.java -jar ...
【Android 源码分析:让 Camera 在 Android 4.0 系统上运行】 在 Android 开发中,Camera 模块是至关重要的部分,它允许应用程序捕获图像和视频。Android 4.0(API 级别 14)是 Android 平台的一个重要里程碑,引入...
标题中的“让为ARM写程序在Android X86 4.0上运行”是指将原本为ARM架构设计的Android应用程序移植到X86架构的Android系统上运行的技术问题。这通常涉及到处理器架构间的兼容性和交叉编译技术。Android操作系统本身...
在深入探讨其源码之前,我们先理解一下Android 4.0(也称为Ice Cream Sandwich,简称ICS)的一些背景信息。 Android 4.0是对Android系统的一次重大更新,引入了诸多新特性和改进,包括全新的用户界面、更好的多任务...
3. 应用权限:源码展示了Android是如何控制应用程序的权限,以及如何在运行时动态请求权限。 4. 服务框架:Activity Manager、Content Provider、Broadcast Receiver和Service的实现细节都在源码中,这对于理解它们...
本教程将详细介绍如何在Vmware中安装并运行Android 4.0(又称为Ice Cream Sandwich,简称ICS)操作系统。 首先,你需要下载Vmware软件。Vmware Workstation是一款常见的选择,它提供了丰富的功能和优秀的性能。请...
在4.0版本中,Layout Inspector提供了更强大的功能,允许开发者在运行时检查和调试应用的布局。现在可以查看多个设备和进程的布局,帮助调试复杂的应用架构。 5. **代码分析和智能提示**: Android Studio 4.0的...
这个“支持android4.0的读取网络图片完整例子”提供了兼容Android 2.x到Android 4.0版本的解决方案,这对于开发者来说是非常宝贵的资源,因为兼容性是Android开发中的一大挑战。 首先,我们要理解Android系统版本...
在Android开发中,`android.support.design.widget.TabLayout`是一个非常重要的组件,它是Google引入的用于实现Material Design设计规范的一部分。这个组件主要用于展示可滑动的标签页,为用户提供清晰的导航选项,...
Android应用程序的编译流程包括几个关键步骤:Java源代码被Javac编译成.class文件,然后dx.jar工具将这些.class文件转换为.dex文件,以便在Dalvik或ART虚拟机上运行。dx.jar执行的是dex化过程,它能处理单个或多个类...