Android的UI线程主要负责处理用户的按键事件、用户触屏事件及屏幕绘图事件等,因此开发者的其他操作不应该、也不能阻塞UI线程,否则UI界面将会变得停止响应——用户感觉非常糟糕。(总之,开发者需要牢记:不要再UI线程中执行一些耗时的操作)。 为了避免UI线程失去响应的问题,Android建议将耗时
分类:
其他好文 时间:
2016-03-08 14:57:13
阅读次数:
138
一、问题描写叙述 使用LruCache、AsyncTask实现批量图片的载入并达到下列技术要求 1、从缓存中读取图片,若不在缓存中,则开启异步线程(AsyncTask)载入图片,并放入缓存中 2、及时移除无效的异步线程;保证异步载入图片时不会乱序 3、仅仅对当前屏幕可见部分进行缓存、异步载入图片 4
分类:
移动开发 时间:
2016-03-07 13:48:42
阅读次数:
332
音乐播放器网络版的客户端:客户端:com.tarena.musicClientactivity 存放ActivityMainActiivtyonCreate(){//加载音乐列表new MusicBiz().execute();}biz 存放业务类MusicBiz extends AsyncTask
分类:
其他好文 时间:
2016-03-06 20:38:39
阅读次数:
142
实际项目中有这么一个问题,用户进入详情界面,那么我们就要网络加载数据并展现在UI上,这个加载用线程或者异步。 这里就拿项目中统一用异步任务来获取网络数据把。 用户可能会有这么一个操作,它在一个商品(说说等)列表中,点击一个列表项,进入到相应的详情界面,这时候,我们会开启一个异步任务来获取网络数据,但
分类:
其他好文 时间:
2016-02-29 14:19:09
阅读次数:
144
为什么要用异步任务?
在android中只有在主线程才能对ui进行更新操作,而其它线程不能直接对ui进行操作
android本身是一个多线程的操作系统,我们不能把所有的操作都放在主线程中操作 ,比如一些耗时操作。如果放在主线程中 会造成阻塞 而当阻塞事件过长时 系统会抛出anr异常。所以我们要使用异步任务。android为我们提供了一个封装好的组件asynctask。
AsyncTask可以...
分类:
移动开发 时间:
2016-02-28 15:19:38
阅读次数:
254
常见的线程形态AsyncTask:不适合特别耗时的后台任务,耗时使用线程池。 必须在主线程中加载。 Android3.0以后是串行执行的,3.0以前是并行。 HanderThread:继承了Thread,是一种可以使用Handler的Thread,和普通的Thread的区别是在run方法中可通过Lo...
分类:
移动开发 时间:
2016-02-23 18:49:43
阅读次数:
189
一、简介 二、代码1.xml(1)activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
分类:
移动开发 时间:
2016-02-21 15:30:31
阅读次数:
200
在简易音乐播放器中,用了Handler,也没有过多地去研究学习,这里再学习下android下的异步消息处理机制。这里用了Handler主要是在线程中不能更新UI,而需要通过Handler才可以。关于异步消息处理有几个概念。
1、Message:消息,线程间通讯的数据单元。例如后台要下载歌曲然后下载完成要更新ui,则可以发送一条包含更新信息的Message给UI线程。
2、Mes...
分类:
移动开发 时间:
2016-02-19 10:49:53
阅读次数:
231
第十一章 Android的线程和线程池 从用途上来说,线程分为子线程和主线程,主线程主要处理和界面相关的事情,而子线程往往用于执行耗时的操作。AsyncTask,IntentService,HandlerThread都可以扮演线程的角色。 AsyncTask封装了线程池和Handler,主要是为了方
分类:
移动开发 时间:
2016-02-18 13:39:55
阅读次数:
175
package com.example.demo.activity.net; import java.util.ArrayDeque; import java.util.concurrent.BlockingQueue; import java.util.concurrent.Callable; i
分类:
其他好文 时间:
2016-02-18 06:31:51
阅读次数:
207