关于同步加载和异步加载

1.同步针对于处理信息量很小的情况,也就是说如果不需要花费什么时间就能马上显示,例如本地的字符串处理。那如果是非常耗时的处理,例如下载、处理图片、大计算等,那么肯定需要异步加载,加载完成后同步显示到列表中;

2.java中有同步的概念,Android中目前没有同步加载数据这种做法,Android中一般都是异步加载,操作一些网络数据,加载大图片等耗时的操作,必须要异步加载,就是另开一个线程,不要在主线程有耗时操作,要不会发生ANR.

如以下代码:

class updatelocationTask extends AsyncTask<String, Integer, Response> {

    @Override

    protected void onPreExecute() {

    //这里写执行doInBackground方法之前要做的什么,比如说                                                弹出ProgressDialog

    }

    @Override

    protected Response doInBackground(String... params) {

    //这里就是线程里面的方法了,比如说建立连接,请求数据

    }

    @Override

    protected void onPostExecute(Response result) {

    //这里可以根据返回值来确定怎么操作,比如说刷新列表或者提示用户网络不畅,是否再次刷新

    }

}

另一个例子,点击按钮执行HTTP请求然后跳转下一页:

同步:发送http请求→获取返回结果→分析结果→跳转下一页

异步:发送http请求→跳转下一页(不需要等待请求结果,对结果的处理在另一个线程中)

注:若是的同步的话会卡死ui界面,所以在Android4.1以后不允许使用同步请求了。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

george0318

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值