1、如下图所言,必须在UI线程中调用异步任务的子类

2、经过碰壁 测试

--、方法一中
@Override
public void onClick(DialogInterface dialog, int which)
{Thread thread=new Thread(new Runnable() {
@Override
public void run()
{ uploaddd(); }
});
thread.start();
--、方法二中
private void uploaddd()
{
final Handler handler=new Handler()
{
public void handleMessage(Message msg)
{
if(msg.what==)
{
Log.d("DFDFDFDF",ii+"__"+"haode"); }
}
};
Thread thread =new Thread(new Runnable()
{
@Override
public void run()
{
Log.d("DFDFDFDF",ii+"__");
handler.sendEmptyMessage();
}
});
thread.start();
}

上述代码会挂掉 证明得出 在非UI中 调用的方法继续开启线程同时有Handler机制会出现异常(因为Handler是异步机制)

实验得出下述代码不会出现异常

1--
@Override
public void onClick(DialogInterface dialog, int which)
{Thread thread=new Thread(new Runnable() {
@Override
public void run()
{ uploaddd(); }
});
thread.start(); 2--
private void uploaddd()
{
// final Handler handler=new Handler()
// {
// public void handleMessage(Message msg)
// {
// if(msg.what==1)
// {
// Log.d("DFDFDFDF",ii+"__"+"haode");
//// if(AndroidClient._error_uploadScrapImgFile.intern()!="")
//// {
//// Toast.makeText(ActivityScrap.this,AndroidClient._error_uploadScrapImgFile,Toast.LENGTH_SHORT).show();
//// }
// }
// }
// };
Thread thread =new Thread(new Runnable()
{
@Override
public void run()
{
Log.d("DFDFDFDF",ii+"__");
AndroidClient.uploadScrapImgFile(scrapImgDatas,ii+"__");
//handler.sendEmptyMessage(1);
}
});
thread.start();
}

android实现异步的问题小经验总结的更多相关文章

  1. Android小经验

    转载自:http://mp.weixin.qq.com/s?__biz=MzA4MjU5NTY0NA==&mid=404388098&idx=1&sn=8bbbba7692dc ...

  2. 你应该知道的那些Android小经验

    原文出处:http://jayfeng.com/ 做Android久了,就会踩很多坑,被坑的多了就有经验了,闲暇之余整理了部分,现挑选一些重要或者偏门的“小”经验做个记录. 查看SQLite日志 ad ...

  3. Android开发的16条小经验总结

    Android开发的16条小经验总结,希望对各位搞Android开发的朋友有所帮助. 1. TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以 ...

  4. Android开发60条技术经验总结

    Android开发60条技术经验总结,以下是全文: 1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有 ...

  5. Android 开发60条技术经验总结(转)

    Android 开发60条技术经验总结: 1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效. 2. ...

  6. Android实现异步的几种方法

    在Android项目中,有经验的开发人员都知道,一些耗时的IO操作等都必须在子线程中去操作,那么可以有哪些方法来开启子线程呢,一般可以使用Java中自带的几种方法,也可以使用Andorid特有的一些类 ...

  7. 用android去写一个小程序

    前言: 软工的一个小作业:实现"黄金分割小游戏", 需要结对编程,队友:陈乐云    共用时两天. 早期思路设计: 采用键值对的形式,以Map作为存储结构.优点:能够将数据与用户对 ...

  8. 八款Android 开发者必备的小工具

    Photo from https://www.airpair.com 在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大 ...

  9. Android开发效率的小技巧

    提高eclipse使用效率(二) 提高Android开发效率的小技巧   XML文件的代码提示 adt中也有xml文件的代码提示,为了让提示来的更加猛烈,我们还要设置一下 打开eclipse - Wi ...

随机推荐

  1. (2)linux未使用eth0,未使用IPV4导致无法连接

    首先ifconfig查看网络IP 看,我这里默认启用了2个网卡,一个是eth0,另一个是lo(基于loopback方式) 1.如果有eth0则做:界面修改 (1)输入命令setup,选择network ...

  2. ios 避免两个button同一时候被点击

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/superchaoxian/article/details/24631293 这个能够通过[btn   ...

  3. Android基础入门教程

    http://www.kancloud.cn/wizardforcel/w3school-android/100491

  4. Android开发视频教程

    http://study.163.com/course/courseMain.htm?courseId=207001 目录   章节1第一季   课时1课程介绍15:17 课时2Android历史15 ...

  5. android学习二---解决ADT Buddle无法自动生成layout和res

    开发环境: 1)windows 7 64位 2)adt-bundle-windows-x86_64-20140624 3)Android Development Toolkit Version: 23 ...

  6. golang模板语法简明教程(后面有福利哦)

    template是go 语言web开发中必不可少的,特此记录下来: [模板标签] 模板标签用"{{"和"}}"括起来   [注释] {{/* a comment ...

  7. asp.net IRequiresSessionState

    在一般处理程序中,使用context.Session对象,必须先继承IRequiresSessionState接口. System.Web.SessionState.IRequiresSessionS ...

  8. 提高开发效率 -> 图片

    相比于文字, 我们从图片中获取的信息是更快和更多的. 所以, 应当大量使用图片, 大量地截图和看图, 不管是针对资料还是代码都应如此. 这里给大家推荐两个好用的小工具, 一个是截图(DuckLink ...

  9. js判断一个数组是否包含一个指定的值

    今天看了一下  有好几种方法  总结一下 1:array.indexOf   此方法判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回-1 let arr = ['something', ...

  10. imx6q 添加intel PCIE网卡

    TQ_IMX6Q开发板移植rtl8168-PCIE转千兆网卡 一.配置内核选项PCIE总线驱动支持 默认的内核配置可能没有把PCIE的总线驱动编入内核,所以需要确认是否把驱动编译到了内核里面. 配置好 ...