- 博客(11)
- 资源 (3)
- 收藏
- 关注
转载 Android DiskLruCache完全解析,硬盘缓存的最佳方案
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/28863651概述记得在很早之前,我有写过一篇文章Android高效加载大图、多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的存储与释放,
2016-01-30 15:46:28 493
原创 ScrollView嵌套ListView
ScrollView里面嵌套ListView默认情况下会导致ListView的高度只有一个条目高度,即无论怎样滚动,始终只显示一个条目(不管布局中ListView高度是wrap_content还是match_parent)网上的解决方案有一种是重写ListView的onMeasure 方法实现,@Override protected void onMeasure(int widt
2016-01-27 19:37:49 510
原创 仿美团外卖效果
下面ListView向上滚动时,先让上面的图片往上滚动,直到图片看不到时再让下面的ListView向上滚动。当向下滑动时,先让ListView往下滑动,直到ListView不能往下滑动时在让上面图片往下滚动。 实现效果如下: 布局示意图 布局代码<RelativeLayout xmlns:android="
2016-01-26 20:48:28 11022 8
原创 Eclipse使用Fresco
关于 FrescoFresco 是一个强大的图片加载组件。Fresco 中设计有一个叫做 image pipeline 的模块。它负责从网络,从本地文件系统,本地资源加载图片。为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级文件)。Fresco 中设计有一个叫做 Drawees 模块,方便地显示loading图,当图片不再显示在屏幕上时,及时地释放内
2016-01-24 21:59:04 2317 2
原创 wait&while
wait为什么要放在while中,而不是if中。api中建议我们调用wait方法(释放对象的锁)是只应该写在while循环里,防止出现虚假唤醒(不满足条件,但是执行wait后面的代码),notify方法是通知在对象的资源等待池中的某一个线程出来看一下是否满足条件,注意,只是其中一个线程!所以有的情况下当然程序会停在那里不走了!所以,强烈建议使用,notifyAll方法
2016-01-23 20:20:17 1008
原创 Volley源码解析
Volley支持网络图片、文本获取,内部会自动在内存中缓存图片。Volley还可以使用第三方的网络请求类库,只需在创建请求队列时实现相应接口即可。Volley基本用法: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
2016-01-22 16:36:56 689
原创 单例设计模式
为什么要使用单例1,节省内存 (内个对象都会占用一定的内存空间) 2,业务需要(例如 公司只能有一个董事长,所以董事长这个对象在内存中只能有一份,所以要使用单例)实现单利模式需要注意以下几点(1)构造函数私有化(2)提供静态方法或枚举返回单例对象(3)确保单例类的对象只有一个,尤其是多线程下(4)确保单例对象在反序列化时不会重新构建对象具体实现方式
2016-01-20 17:01:04 450
原创 Activity启动模式
启动模式的一个典型应用:手机淘宝中我的--右上角设置中,右上角有个首页,点击首页后就可以打开首页,但这时再按返回键却无法回到设置界面了。这就可以通过启动模式很方便的控制。先介绍一个查看安卓设备中任务栈以及栈中Activity情况的命令一. 使用命令adb shell dumpsys activity为了可以在控制台直接使用这个命令,我们可以在系统环境变量中为path
2016-01-13 13:03:47 756
原创 Activity生命周期
Activity的生命周期受Activity透明主题,和dialog主题的影响,若加入透明主题或dialog主题则生命周期会复杂许多。activity生命周期和解锁屏幕,按home键和启动新activity(不管新activity属于当前应用还是其他应用还是系统 应用)有关,与dialog、DialogFragment和下拉状态栏无关。activity透明主题和dialog主题( an
2016-01-12 12:07:55 789 2
原创 Binder&AIDL
AIDL 是安卓中特定文件的后缀(.aidl),也是跨进程调用的代名词。1.定义一个实现了android.os.Parcelable接口的Book类,该类的对象是用于跨进程传输的package com.example.test.aidl;import android.os.Parcel;import android.os.Parcelable;public class
2016-01-07 16:35:51 308
原创 java版android Handler机制模型
使用示例import com.handler.Handler;import com.handler.Looper;import com.handler.Message;public class Main { public static void main(String[] args) { new Main().start(); } private void st
2016-01-02 14:47:06 2109 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人