- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 android ListView的优化
网络图片异地加载,分批加载,分页查询,图片缓存等优化方式复用convertView,减少findViewById的次数 ① convertView② ViewHolderListView中数据的分批及分页加载1、准备数据:在dao中添加分批加载数据的方法:findPartDatas ()在适配数据的时候,先加载第一批的数据,需要加载第二批的时候,设置监听检测何
2015-09-16 16:56:31 199
原创 android ANR异常
ANR异常的原因和处理原因:在主线程中做耗时操作处理逻辑:1. new出一个新的线程,进行数据请求2. 获取数据后, 调用handler.sendMessage方法3. 在handler的handle()方法中更新UI如何避免ANR?1.Activity的onCreate()和onResume()里尽可能少的去做创建操作(可以采用重新开启子线程的方式,然后使用Han
2015-09-16 16:41:24 653
转载 android OOM(out of memory)异常的处理
一、Android系统对图片进行加载处理时,内存的申请情况是根据图片的宽高来决定。要解决OOM异常,需要对加载的大尺寸的图片进行缩放。Bitmap bitmap = BitmapFactory.decodeFile("/mnt/sdcard/a.jpg");iv.setImageBitmap(bitmap);当通过此方法加载大图片的时候,容易出现OOM(out of mem
2015-09-16 16:37:13 712
原创 android 布局性能优化
1.当我们在画布局时,为了实现某个功能,优先考虑相对布局,然后再考虑别的布局,不要用绝对布局。因为相对布局会比其他布局少很多对象。如果对象过多,会发生堆栈溢出错误。2.Merge标签,优化ui结构。删减多余或者额外的层级,从而优化整个Android Layout的结构。核心功能就是减少冗余的层次从而达到优化UI的目的!3.ViewStub是一个隐藏的,不占用内存空间的视
2015-09-16 14:34:36 288
转载 android 屏幕适配
1.低密度向上找,高密度向下找一般需要480*800。但只要涉及到填充屏幕的就必须要切一套1280*720(直接用苹果手机的1136*640的也行)的。将这大图放入xhdpi目录下。小图无需切第二套图,因为小图进行拉升也没有多大的区别,而全屏幕大图拉升的话就会模糊。ldpi 120dpimdpi 320*480
2015-09-16 14:19:33 281
原创 Asynctask原理
AsyncTask 异步任务,主要包含两个关键类:InternalHandler:消息处理器, 用于处理线程之间消息.ThreadPoolExecutor:线程池, 用于处理耗时任务
2015-09-16 13:14:10 284
原创 handler消息处理机制
三个核心类:Looper,Handler和Message,MessageQueue(消息队列)在Looper内部Looper.prepare();//将当前线程初始化为Looper线程Looper.loop();// 开始循环处理消息队列handler机制:1.在创建Activity之前,在系统启动的时候先加载ActivityThread类,在这个类的main函数中,调
2015-09-16 13:12:32 268
原创 android 内存优化
内存泄露:某对象不再使用了(有引用指向他),GC无法回收,该对象占用的内存就无法被使用java的,内存泄漏和C/C++是不一样java程序完全结束后,它所有的对象就不可达,就会被GC回收,内存泄漏仅限于它本身,不会影响整个系统C/C++的内存泄漏是系统级的,即使该C/C++程序退出,它的泄露的内存也无法被系统回收,永远不可用了,除非重启机器Android的每个应用程
2015-09-16 13:05:33 278
转载 android事件传递机制
Android Touch事件dispatchTouchEvent分发TouchEventonInterceptTouchEvent拦截TouchEventonTouchEvent处理TouchEvent当TouchEvent发生时,首先Activity将TouchEvent传递给最顶层的View, TouchEvent最先到达最顶层 view 的 dispatchTouc
2015-09-16 12:24:06 254
原创 activity的启动模式
standard:当startActivity(),每次都会创建一个activity的实例放入任务stack中。singleTop:当这个activity处于任务stack的最顶端,就会直接复用。不会去创建activity实例。 onNewIntent()方法被调用。singleTask:这个activity的实例在一个任务stack中只会存在一个这样的实例。如果他发现任务
2015-09-16 12:17:29 240
转载 Android 中 Handler 引起的内存泄露
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用。通常我们的代码会这样实现。public class SampleActivity extends Activity {private final Handler mLeakyHandler = new Handler() {@Overridepubli
2015-09-11 10:30:11 200
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人