AsycnTask】的更多相关文章

1.  首先执行onPreExecute方法,进行UI的初步设置 2.  其次执行doInBackground方法,此时将不在UI中线程中进行了 3.  然后如果要进行中的数据的话可以通过publishProgress(param)方法进行传递 4.  再就是onProgressUpdate接收publishProgress()传递过来的参数了,可以对UI进行操作 5.  最后就是onPostExecute()方法接收doInBackground()返回的数据对UI进行操作…
一.异步任务加载网络数据: 在Android中提供了一个异步任务的类AsyncTask,简单来说,这个类中的任务是运行在后台线程中的,并可以将结果放到UI线程中进行处理,它定义了三种泛型,分别是Params.Progress和Result,分别表示请求的参数.任务的进度和获得的结果数据. 1.使用原因: 1)是其中使用了线程池技术,而且其中的方法很容易实现调用 2)可以调用相关的方法,在开启子线程前和后,进行界面的更新 3)一旦任务多了,不用每次都new新的线程,可以直接使用 2.执行的顺序:…
Android是一个单线程模型,Android界面(UI)的绘制都只能在主线程中进行,如果在主线程中进行耗时的操作,就会影响UI的绘制和事件的响应.所以在android规定,不可在主线中进行耗时操作,否则将发生程序无响应(ANR)问题. 解决办法:开启新的线程进行耗时操作 开启新的线程可以new Thread()  或实现Runnable接口 什么要使用AsyncTask呢? 如果是使用Thread的run()方法,run()结束之后没有返回值.所以必须要自己建立通信机制 AsyncTask将所…
一.手写异步加载框架MyAsycnTask(核心原理) 1.我为大家手写了一个异步加载框架,涵盖了异步加载框架核心原理. MyAsycnTask.java import android.os.Handler; public abstract class MyAsycnTask { private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { postTask(); }; }…
开发Android应用经常需要处理图片的加载问题.因为图片一般都是存放在服务器端,需要联网去加载,而这又是一个比较耗时的过程,所以Android中都是通过开启一个异步线程去加载.为了增加用户体验,给用户省流量,一般把加载完的图片先缓存下来,下次加载的时候就不需要再联网去服务器端加载.图片缓存一般分为一级缓存(即内存缓存)和二级缓存(即磁盘缓存).这里只讲一级缓存. 内存缓存就是把加载完的图片先放在手机内存中,等下次加载的时候再从内存中取出来. 优点是速度快,缺点是不能长久保存,用户退出应用程序之…
原文出自:方杰|http://fangjie.info/?p=193转载请注明出处 最终效果演示:http://fangjie.sinaapp.com/?page_id=54 该项目代码已经放到github:https://github.com/JayFang1993/SinaWeibo 一.ListView的图片异步加载 我们都知道对每一个Weibo Item都有用户头像,而且每一条微博还可能带有图片.如果在加载列表的同时加载图片,这样有几个缺点,第一很费事,界面卡住,用户体验很不好,第二An…
原文出自:方杰|p=193" style="color:rgb(202,0,0); text-decoration:none; font-size:14px; font-family:Georgia,'Times New Roman','Bitstream Charter',Times,serif; line-height:21px">http://fangjie.sinaapp.com/?p=193转载请注明出处 终于效果演示:page_id=54" hre…
我也是参考下面两篇很有价值的文档,然后做一个总结的: http://blog.csdn.net/hitlion2008/article/details/7983449 http://blog.csdn.net/mylzc/article/details/6784415 最近主管让我看一下某个性能方面的问题,场景类似于一个weibo页,外层weibo列表加载很多图片并不是很卡,但是进入单个weibo,评论列表里面滑动有时就会卡顿.缓存方面原本已经做好,那究竟是为什么呢? 想到的主要原因:列表页同一…
其实从rxjava14年出现到现在,我是去年从一个朋友那里听到的,特别是随着现在app项目越来越大,分层越来越不明确的情况下,rxjava出现了,以至于出现了rxandroid.其实如果你了解观察者模式的话,rxjava并没有你说的那么神秘.再次,我对rxjava并不崇拜,我的原则是怎么写代码简单,代码结构清晰,维护简单,就是好框架. 讲rxjava之前首先说一下Android mvp开发模式. MVP的工作流程 Presenter负责逻辑的处理, Model提供数据, View负责显示.  作…
In Android, the system guards against applications that are insufficiently responsive for a period of time by displaying a dialog that says your app has stopped responding, such as the dialog in Figure 1. At this point, your app has been unresponsive…
将一些认识写下来,和大家交流一下,同时也方便自己复习. 用户可以通过附件按钮,添加附件.以添加幻灯片为例: 如果点击幻灯片,会走如下代码: ComposeMessageActivity.java private void editSlideshow() { // The user wants to edit the slideshow. That requires us to persist the slideshow to // disk as a PDU in saveAsMms. This…
[转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树] 引言 在平时项目开发中难免会遇到异步耗时的任务(比方最常见的网络请求).遇到这样的问题.我们能够自己通过Handler+Message+Thread/ThreadPool来构造一个异步耗时任务框架.当你下次项目中又遇到一个网络请求,你又不得不重写异步耗时任务处理框架.出于避免开发人员反复搬砖工作,Googleproject师给开发人员搭建了一个通用的异步耗时任务处理框架--AsyncTa…
昨天写的图片的三级缓存,假设有兴趣,能够去看下,浅谈图片载入的三级缓存原理(一) http://blog.csdn.net/wuyinlei/article/details/50606455 在里面我们下载的时候.採用了AsyncTask异步下载机制,那么今天就来浅谈一下AsycnTask工作机制吧. 首先我们来看下AsyncTask的官方解释 AsyncTask is designed to be a helper class around Thread and Handler and doe…
为什么使用Volley Android提供了两个HTTP库给开发者来进行实现一个HTTP请求,一个是AndroidHttpClient (从apache HttpClient拓展而来),另一个是HttpUrlConnection.两者都互有优缺点.当我们开发一个应用,一般来说,我们会写一些Http连接类,这些类可以处理所有Http请求,创建后台线程,管理线程池,解析response,缓存response,处理异常状态码.SSL连接,实现并行或者串行请求.每一个开发者都有自己的方式去实现这些方法.…
做项目中遇到的,折磨了我将近两天,今天把经验分享出来.让大家以后少走点弯路,好了.简单来说一下什么是android的适配器,怎样定义.怎样添加适配器的重用性.怎样去减少程序的耦合性 适配器顾名思义是用来做适配的,可是他是怎样做适配的.机制是什么.作用是什么,好,相信写java的都是知道什么是面向对象编程吧,这里用面向对象来解释非常好理解.事实上适配器是把每一个对象放在其空间上然后在andorid页面显示,如今再来理解,对象事实上就是数据的抽象体吧,而页面显示通常是xml也就是视图吧,那么数据以视…
在列表控件中使用AsycnTask加载图片时,会带来并发问题. 如果每个子视图都触发一个AsyncTask,因为AsyncTask内部是一个线程池,并发触发时,不能确保每个子视图的AsyncTask都进入了队列,而且异步任务的完成顺序和启动顺序也不一定一致. Multithreading For Performance这篇文章提供了一种方法. 主要方案如下: 通过定制一个BitmapDrawable,让ImageView储存当前AsyncTask的引用(弱引用) BitmapLoadTask,一…
本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/62893318 写作背景 愚人节特别篇 这篇博客准备了好久,一直放在草稿箱里面,随着之前的深入了解Android线程池 . 完结之后,在写这篇文章就顺手了非常多. 写这篇博客的时候,仅仅想了解下AsyncTask,没想到看着源代码之后就沉迷了,一点一点看了队列,同步,异步,也尝试着翻译英文文档,总之收货满满. 本文用…