`
coding1688
  • 浏览: 238097 次
  • 来自: 上海
社区版块
存档分类
最新评论

在Android2.x下运行良好的程序在Android4.0下报android.os.networkonmainthreadexception错

 
阅读更多

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

一般情况下还是使用线程好些

 

 

0
3
分享到:
评论

相关推荐

    Caused by: android.os.NetworkOnMainThreadException错误解决办法

    在Android开发中,`Caused by: android.os.NetworkOnMainThreadException` 是一个常见的错误,它意味着开发者尝试在主线程(UI线程)中执行网络操作,这是被禁止的。自Android 4.0 (API Level 14)以后,为了保证用户...

    Android 4.0 .x509 platform.pk8 下载

    在Android系统中,`.x509`证书用于验证应用程序、系统更新以及其他组件的来源和完整性,确保只有可信的软件能够安装和运行。 `.pk8`文件则代表私钥的封装格式,它是Android特有的,用于存储私钥信息。私钥与`.x509`...

    android.os.NetworkOnMainThreadException

    android.os.NetworkOnMainThreadException 解决事情应该优先解决一件事情,总是三心二意,最后塞翁失马 文章目录android.os.NetworkOnMainThreadException问题分析查阅资料解决方案知识要点: RunOnUiThread 和 new...

    Android中应用程序获得系统签名权限(platform.x509.pem platform.pk8 signapk.jar)

    2. 接着,将`platform.x509.pem`和`platform.pk8`与`signapk.jar`放在同一个目录下。 3. 使用命令行,运行`java -jar signapk.jar platform.x509.pem platform.pk8 your_app.apk signed_app.apk`。这个命令会使用...

    android classes.jar 4.0-5.0

    描述中提到,在Ubuntu 64位14.04.1环境下编译了Android 5.0.0的源码,这表明这是一个涉及到Android系统底层开发的过程。Android源码是开放的,允许开发者深入理解系统工作原理,并根据需要进行自定义修改。编译源码...

    android4.0源代码

    Android 4.0源代码是Android操作系统的冰激凌三明治(Ice Cream Sandwich)版本的底层实现,它包含了Android应用程序框架以及系统服务的核心组件。这个压缩包包含了一系列的源码目录,每个目录对应不同的模块,如...

    Android support.v7包

    Android support.v7包

    android.hardware.camera2自定义相机

    在Android平台上,`android.hardware.camera2`是官方提供的高级相机API,它提供了更精细的控制和更高的灵活性,使得开发者能够创建具有专业级别的自定义相机应用。这个API在Android 5.0(API级别21)引入,替代了...

    android-4.0 源码

    Android 4.0,也被称为Ice Cream Sandwich (ICS),是Google在2011年推出的一个重要的Android操作系统版本。这个版本引入了许多新功能和改进,为开发者提供了更强大的平台,同时也提升了用户体验。本文将深入探讨...

    android系统签名(platform.pk8,platform.x509.pem,signapk.jar)

    实现静默安装必须拥有该机器的系统签名,所以安装程序必须得拥有系统签名 实现系统签名必须得拥有两个签名文件和一个jar包 platform.pk8 platform.x509.pem signapk.jar 1.cd到以上三个文件的目录去 2.java -jar ...

    安卓Android源码——camera,修改过可以在4.0系统上运行。.rar

    【Android 源码分析:让 Camera 在 Android 4.0 系统上运行】 在 Android 开发中,Camera 模块是至关重要的部分,它允许应用程序捕获图像和视频。Android 4.0(API 级别 14)是 Android 平台的一个重要里程碑,引入...

    让为ARM写程序在Android X86 4.0上运行

    标题中的“让为ARM写程序在Android X86 4.0上运行”是指将原本为ARM架构设计的Android应用程序移植到X86架构的Android系统上运行的技术问题。这通常涉及到处理器架构间的兼容性和交叉编译技术。Android操作系统本身...

    android4.0 Browser 浏览器 源码

    在深入探讨其源码之前,我们先理解一下Android 4.0(也称为Ice Cream Sandwich,简称ICS)的一些背景信息。 Android 4.0是对Android系统的一次重大更新,引入了诸多新特性和改进,包括全新的用户界面、更好的多任务...

    android4.0sdk源码

    3. 应用权限:源码展示了Android是如何控制应用程序的权限,以及如何在运行时动态请求权限。 4. 服务框架:Activity Manager、Content Provider、Broadcast Receiver和Service的实现细节都在源码中,这对于理解它们...

    虚拟机Vmware安装运行安卓4.0详细教程

    本教程将详细介绍如何在Vmware中安装并运行Android 4.0(又称为Ice Cream Sandwich,简称ICS)操作系统。 首先,你需要下载Vmware软件。Vmware Workstation是一款常见的选择,它提供了丰富的功能和优秀的性能。请...

    android-studio-4.0.zip

    在4.0版本中,Layout Inspector提供了更强大的功能,允许开发者在运行时检查和调试应用的布局。现在可以查看多个设备和进程的布局,帮助调试复杂的应用架构。 5. **代码分析和智能提示**: Android Studio 4.0的...

    支持android4.0的读取网络图片完整例子

    这个“支持android4.0的读取网络图片完整例子”提供了兼容Android 2.x到Android 4.0版本的解决方案,这对于开发者来说是非常宝贵的资源,因为兼容性是Android开发中的一大挑战。 首先,我们要理解Android系统版本...

    android.support.design.widget.TabLayout示例

    在Android开发中,`android.support.design.widget.TabLayout`是一个非常重要的组件,它是Google引入的用于实现Material Design设计规范的一部分。这个组件主要用于展示可滑动的标签页,为用户提供清晰的导航选项,...

    android dx.jar 下载

    Android应用程序的编译流程包括几个关键步骤:Java源代码被Javac编译成.class文件,然后dx.jar工具将这些.class文件转换为.dex文件,以便在Dalvik或ART虚拟机上运行。dx.jar执行的是dex化过程,它能处理单个或多个类...

Global site tag (gtag.js) - Google Analytics