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 的 Launcher2 是 Android 操作系统的一个核心组件,它是用户界面的主要部分,负责桌面、应用抽屉和快捷方式的管理。这个项目是为开发者提供的源代码,允许他们深入理解 Launcher2 的工作原理,并对其...
Android support.v7包
8. **权限管理**:在Android 4.0中,应用程序需要`android.permission.CAMERA`权限才能使用相机。源码中可以看到权限检查的实现细节。 9. **线程模型**:相机操作通常涉及多个线程,包括主线程、预览线程和捕获处理...
在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系统的一次重大更新,引入了诸多新特性和改进,包括全新的用户界面、更好的多任务...
本教程将详细介绍如何在Vmware中安装并运行Android 4.0(又称为Ice Cream Sandwich,简称ICS)操作系统。 首先,你需要下载Vmware软件。Vmware Workstation是一款常见的选择,它提供了丰富的功能和优秀的性能。请...
在4.0版本中,Layout Inspector提供了更强大的功能,允许开发者在运行时检查和调试应用的布局。现在可以查看多个设备和进程的布局,帮助调试复杂的应用架构。 5. **代码分析和智能提示**: Android Studio 4.0的...
Android应用程序的编译流程包括几个关键步骤:Java源代码被Javac编译成.class文件,然后dx.jar工具将这些.class文件转换为.dex文件,以便在Dalvik或ART虚拟机上运行。dx.jar执行的是dex化过程,它能处理单个或多个类...
官方提供的 Android 4.0 源代码下载地址为 [http://source.android.com/source/downloading.html](http://source.android.com/source/downloading.html)。通过这个链接,开发者可以获取到完整的 Android 4.0 源代码...