做个Android开发的同学们应该都用过AsyncTask,通过继承AsyncTask类实现异步操作,反馈当前异步执行的进度,最后执行的结果反馈给UI主线程。我们在开发中使用AsyncTask,因为它的主要优点使用简单方便、不用关系和主线程交互逻辑和执行过程可控,当然还可以支持取消。说完AsyncTask的优点,下面我们来数数AsyncTask的几宗罪。...
分类:
其他好文 时间:
2015-07-31 01:31:57
阅读次数:
152
以下只是我个人的浅见,大神请忽略~AsyncTask是一个非常方便的编写异步任务的工具类,在进行网络的操作的时候有时会出现阻塞等情况,用户体验非常差。当然用线程就可以解决这个问题,但是我个人觉得AsyncTask使用起来更方便,当然也有人说AsyncTask也有缺陷,但是我目前没有遇到所谓的缺陷。废...
分类:
移动开发 时间:
2015-07-30 22:48:14
阅读次数:
144
最近在实现一个Android下的数据采集的SDK,收集用户使用数据使用HTTP发送到云平台,进行数据分析。但在发送数据时报如下错误:
Caused by: android.os.NetworkOnMainThreadException
产生的原因,官方解释:
Class Overview
The exception that is thrown when an application att...
分类:
移动开发 时间:
2015-07-29 19:20:38
阅读次数:
184
网络操作是一个严重的耗时操作,所以从Android 4.0版本开始,网络操作就被严禁放在主线程中,所以网络操作只能放在异步任务中。下面是一个从网络上下载图片的示例,示例分为两个部分:
- 异步处理下载图片
- UI线程中处理图片下载的图片是在百度图片里面随便找的:http://img1.ph.126.net/GPS04o8gJYuG4ZOwlx6UQA==/978125544087835399....
分类:
移动开发 时间:
2015-07-29 17:18:48
阅读次数:
315
Android单线程模型当一个程序第一次启动时,Android会同时启动一个主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户点击按钮的事件,用户接触屏幕的事件以及屏幕绘图事件等,同时,主线程会把相关的事件分发到对应的组件进行处理。所以主线程通常又叫做UI线程。
在开发Android 应用时必须遵守单线程模型的原则:
Android UI操作并不是线...
分类:
移动开发 时间:
2015-07-28 12:59:55
阅读次数:
133
使用的是AsyncTask,可以把login放到里面。因为这是我自己的项目代码,所以我尽量不发太多耦合性很强的代码 private Integer login(){ String name = Util.readPre(context, app.getLoginname(), GoLoveAp...
分类:
移动开发 时间:
2015-07-28 10:34:48
阅读次数:
132
在开发 Android 移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程中执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI线程),子线程中操作 UI 线程会出现错误。因此 Android 提供了一个类 Handler 来在子线.....
分类:
其他好文 时间:
2015-07-27 20:22:17
阅读次数:
132
转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空)一、引言 我们知道Android的UI线程主要负责处理用户的按键事件、用户触屏事件及屏幕画图事件等,对于其它的操作尽量不要在UI线程中实现,由于这些操作非常有可能会堵塞UI线程,比方一些耗时操作,会....
分类:
移动开发 时间:
2015-07-26 20:31:17
阅读次数:
150
最近在做自己的安卓软件,于是乎就自己做了个翻译功能,主要方式是使用AsyncTask实现异步处理,翻译调用的互联网接口是有道提供的API。
方法很简单,通过HttpGET和HttpResponse获得String,再将json数据解析即可。
在AsynTask实现类中,输入是String,在doInBackground方法里主要实现目标String的获取。而在onPostExecute方法里主...
分类:
移动开发 时间:
2015-07-25 18:27:35
阅读次数:
150
先上个优化之后的fps图,丝滑流畅;具体实现请看最终优化后的app背景:一个通讯录app(开源地址),每次登陆时,针对每个用户,如果头像图片不在本地,则生成一个异步下载任务(AsyncTask)。tips:判断图片是否在本地,咱使用的方法:根据该图片的url,比如http://images0.cnb...
分类:
移动开发 时间:
2015-07-24 10:32:45
阅读次数:
154