- 博客(13)
- 资源 (9)
- 收藏
- 关注
原创 android 线程池
为什么要用线程池,当我们需要在一个listview,gridview等容器中作很耗时的操作,不可能再一个一个的建立子线程去获取,因为线程的创建和销毁是一个很耗资源的工作,因此我们引入线程池的概念,引入线程池后,当一个子线程操作完后,不会马上销毁,如果这个线程池里还有空间,就把这个线程放入这个池里,当再需要线程的时候,会优先从这个池里去取,不需要再创建线程了,这样就节省了很多资源的浪费。话不多说,马
2013-11-10 08:23:00
1170
原创 LoaderManager的原理和示例
LoaderManager是对异步查询的一种封装,常用于对cursor的操作,我们知道,cursor查询时比较耗时的,如果cursor在主线程上去做查询,就阻塞主线程,我们考虑异步操作,android提供LoaderManager,它有个接口LoaderCallbacks,里面有三个回调方法,其中onCreateLoader是在子线程中运行,主要做查询使用,onLoadFinished处理onCr
2013-11-07 15:25:40
1044
原创 从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式
从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现。1、采用thread去获取图片,获取到后通过handle把消息发送到与主线程绑定的消息队列中(也就是主线程的loop)。2、采用AsyncTask方式,也称异步任务,这个类其实把子线程和handle的处理方式进行了封装,建议开发者多用异步任务
2013-11-07 12:43:00
1126
转载 hello
上篇博客我们说到SurfaceControl会调用openTransaction和closeTransaction来一起讲所有SurfaceControl的属性等传给SurfaceFlinger。我们来看下这个过程。 一、SurfaceControl 我们先来看下SurfaceControl.java中的相关函数,都是调用了JNI函数。 public static void openTran...
2018-08-29 20:13:21
250
1
转载 经过两年的时间
上篇博客我们说到SurfaceControl会调用openTransaction和closeTransaction来一起讲所有SurfaceControl的属性等传给SurfaceFlinger。我们来看下这个过程。 一、SurfaceControl 我们先来看下SurfaceControl.java中的相关函数,都是调用了JNI函数。 public static void o...
2018-08-29 20:09:32
539
转载 Android异步处理二:使用AsyncTask异步更新UI界面
转载自http://blog.youkuaiyun.com/mylzc/article/details/6772129 在《Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面》中,我们使用Thread+Handler的方式实现了异步更新UI界面,这一篇中,我们介绍一种更为简洁的实现方式:使用AsyncTask异步更新UI界面。 概述: AsyncTas
2013-12-17 12:42:13
574
转载 Android应用自动更新功能实现使用AsyncTask!
转载自http://my.oschina.net/banxi/blog/57988 其实这个自动更新功能大体就是两个三个步骤: (1)检查更新 (2)下载更新 (3)安装更新 检查更新和下载更新其实可以算是一步.因为都比较简单,都是主要是下载. 1) 当你有新的版本发布时,在一个位置放一个更新的文件. 里面到少放有最新应
2013-12-17 12:26:14
695
转载 Android应用自动更新功能的实现!!!
转载出自http://blog.youkuaiyun.com/android_tutor/article/details/7015986 大家好,发现半年没有更新博客了,最近一直都比较忙,决定在凌晨 英超 阿森纳VS富勒姆 中场休息的时候,给大家分享Android里应用版本更新功能这一块的实现。 一个好的应用软件都是需要好的维护,从初出版本到最后精品,这个过程需要版本不停的更新,那么如何让用户
2013-12-17 12:14:29
544
原创 一个简单的json服务端和客户端的例子
我们经常用json来从服务端返回数据给客户端,我写了一个很简单的demo 服务端: public class JsonAction extends HttpServlet { JsonService jsonService; /** * Constructor of the object. */ public JsonAction() { super(); } /
2013-11-08 20:46:32
929
原创 ContentProvider的用法
ContentProvider的出现解决了跨进程访问数据的问题,其内部的原理主要是BINDER和匿名共享内存来实现的,它主要是由ActivitymanagerService提供管理,我们知道建立一个数据库只能由本应用访问,其他应用访问不了的,但是我们我们用contentprovider去包装数据库就可以通过uri去访问了。现在介绍一下怎么建立一个contentprovider。 首先我
2013-11-07 09:37:44
864
原创 DialogFragment的用法实例
DialogFragment,顾名思义,是一个显示dialog窗口的fragment。外表和对话框没什么区别,我们一般在android4.0以后建议用DialogFragment来替代AlertDialog。DialogFragment比AlertDialog有很多优点,比如说,它是独立的,有自己的window,接受自己的输入事件。 public static class MyAlertDial
2013-11-07 08:04:45
1448
转载 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候,老板说要加上二维码扫描功能,然后自己的屁颠屁颠的去百度,google啥的,发现很多朋友都有介绍二维码扫描的功能,然后我就跟着人家的介绍自己搞起了二维码扫描功能,跟着人家的帖子,很快我的项目就加入了扫描二维码的功能,然后自己还很开
2013-09-20 09:29:51
1151
转载 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
异步加载图片的例子,网上也比较多,大部分用了HashMap> imageCache ,但是现在已经不再推荐使用这种方式了,因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠。另外,Android 3.0 (API Level 11)中,图片的数据会存储在本地的内存当中,因而无法用一种可预见的方式将其释放,
2013-09-19 15:16:21
1042
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅