为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Android必学-AsyncTask基础_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Android必学-AsyncTask基础

eclipse_xu 移动开发工程师
难度中级
时长49分
  • AsyncTask的注意事项
    查看全部
    0 采集 收起 来源:总结

    2015-06-30

  • 在AsyncTask的doInBackground()方法中调用publishProgress()方法可以将我们处理任务的进度反馈处理,我们这个时候就是用AsyncTask的onProgressUpdate()方法来承接我们传出来的进度,注意,由于在AsyncTask中,只有doInBackground()方法是工作在子线程中的,所以我们可以放心地在onProgressUpdate()方法中更新UI。
    查看全部
  • doInBackground方法传入的是一个可变长数组,在execute方法中可以传递不止一个参数,存入params数组中 String url = params[0];//本例中只传入一个地址 Bitmap bitmap = null; URLConnection connection;//定义网络连接对象 InputStream is;//用于获取数据的输入流 connection = new URL(url).openConnection();//获取网络连接对象,需要被try_catch is = connection.getInputStream();//获取输入流 BufferedInputStream bis = new BufferedInputStream(is); bitmap = BitmapFactory.decodeStream(bis);//将输入流解析成bitmap is.close();//关闭输入流 bis.close(); ruturn bitmap;//将bitmap作为返回值返回给后面调用的方法
    查看全部
    0 采集 收起 来源:创建AsyncTask类

    2015-06-30

  • AsyncTask三个传入参数的类型
    查看全部
    0 采集 收起 来源:创建AsyncTask类

    2015-06-30

  • bufferedinputstream提高读写效率
    查看全部
    0 采集 收起 来源:创建AsyncTask类

    2015-06-29

  • 网络操作作为不稳定的废时操作,从android 4.0开始就被严禁放入主线程中 通常采用在异步线程处理→下载图像 在UI线程→设置图像 ProgressBar XML属性 visibility="gone"可设置为默认状态下为隐藏
    查看全部
    0 采集 收起 来源:AsyncTask创建UI

    2018-03-22

  • AsyncTask的回调方法的调用顺序
    查看全部
  • 构建AsyncTask子类的回调方法
    查看全部
  • 构建AsyncTask子类的参数
    查看全部
  • 为何不能在其他线程中更新UI:保持UI也就是主线程的稳定性,准确性,避免多个线程同时操作UI产生的混乱。 为何要使用子线程:1.Android是单线程模型,但又是多线程操作系统,耗时操作(网络操作,读取文件)如果全部在主线程中执行,就会造成后面任务的阻塞,系统会自动检测阻塞,当阻塞时间过长时,android就会抛出ANR,启动子线程,既可以保证Android的单线程模型,又可以防止ANR。异步处理方式:线程,线程池,AsyncTask AsyncTask本质也是Handler的消息通信机制,只是别个封装好了的。方便我们使用。AsyncTask比Handler那一套东西更加好用。
    查看全部
    0 采集 收起 来源:AsyncTask概述

    2015-06-29

  • 为何不能在其他线程中更新UI:保持UI也就是主线程的稳定性,准确性,避免多个线程同时操作UI产生的混乱。 为何要使用子线程:1.Android是单线程模型,但又是多线程操作系统,耗时操作(网络操作,读取文件)如果全部在主线程中执行,就会造成后面任务的阻塞,系统会自动检测阻塞,当阻塞时间过长时,android就会抛出ANR,启动子线程,既可以保证Android的单线程模型,又可以防止ANR。异步处理方式:线程,线程池,AsyncTask
    查看全部
    0 采集 收起 来源:AsyncTask概述

    2015-06-24

  • 还需要在AsyncTask方法中不断去检测task状态
    查看全部
  • asynctask是基于线程池的,因此释放时候需要让asynctask生命周期与activity生命周期保持一致
    查看全部
  • AsyncTask的注意事项
    查看全部
    2 采集 收起 来源:总结

    2015-06-22

  • 是用AsyncTask创建线程执行任务的时候,我们需要使得创建的线程的生命周期和我们Activity的生命周期一致,即,当我们的Activity不可见的时候,我们需要及时“取消”我们AsyncTask中正在执行还没有执行完的任务,这样,等下次Activity出现的时候,我们才能给用户开始执行新任务的体验,否则,我们后台需要执行完上次的任务才能执行新的任务,这样会给我们用户一个“长时间等待无响应”的感觉。 关于如何Cancel一个Task,Android官方文档写的很清楚: A task can be cancelled at any time by invoking cancel(boolean). Invoking this method will cause subsequent calls to isCancelled() to return true. After invoking this method, onCancelled(Object), instead of onPostExecute(Object) will be invoked after doInBackground(Object[]) returns. To ensure that a task is cancelled as quickly as possible, you should always check the return value of isCancelled() periodically from doInBackground(Object[]), if possible (inside a loop for instance.)
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Android初级课程 1、掌握基本的Android应用程序开发方法 2、掌握AsyncTask中个方法中参数的意义 3、掌握AsyncTask中4个常用的方法
老师告诉你能学到什么?
1、了解Android的单线程模型 2、 AsyncTask的基本构成 3、 AsyncTask的回调方法 4、 AsyncTask实例
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!