- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 高效懒人工具ButterKnife原理解析
大家在使用butterknife的时候,是否注意到,需要调用类似这样的代码;是否想到ButterKnife直接在这里对该类注解进行反射。那样ButterKnife就跟其他的ioc框架没有竞争力了。要知道大量的反射是严重影响性能的。我们进入bind方法源码看看。从这个可以看出ButterKnife是调用了findViewBinderForClass方法获取到一个ViewBinde
2016-05-18 10:49:51 1786 1
原创 Android性能优化-----单一Activity框架
背景有时候,Android系统跳转界面需要生成新的Activity对象,同时需要初始化大量的成员变量,非常的损耗时间。因此,就在想,其实跳转界面只是改变界面的显示的view,是否能够只是改变界面的view,而不需要同时生成那么多个actviity。从而达到性能优化效果。解决问题(1)对需要跳转的界面View进行栈管理,有利于返回界面。(2)activity有
2015-11-12 15:55:00 564
原创 进程间通信--Handler的详解
1.首先new 一个handler,handler有两个关键的成员变量mLooper , mQueue,在初始化handler的时, hander会获取主线程的Looper,还有Looper中的MessageQueue记录起来。public Handler(Callback callback, boolean async) { if (FIND_POTENTIAL_LEA
2015-09-22 22:32:53 758
原创 自定义旋转的加载框
<rotate android:interpolator="@android:anim/accelerate_interpolator" android:repeatCount="infinite" android:fromDegrees="0" android:toDegrees="+360" android:pivotX="50%" android:pivotY="50
2015-09-20 22:52:31 372
原创 Android网络图片的三级缓存
1.缓存原理实现图片缓存也不难,需要有相应的cache策略。这里我采用 内存-文件-网络 三层cache机制,其中内存缓存包括强引用缓存和软引用缓存(SoftReference),其实网络不算cache,这里姑且也把它划到缓存的层次结构中。当根据url向网络拉取图片的时候,先从内存中找,如果内存中没有,再从缓存文件中查找,如果缓存文件中也没有,再从网络上通过http请求拉取图片。在键值对(ke
2015-09-20 22:36:24 812
原创 Gson使用
最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库。发现了google的gson,因为之前对于protocolbuf有一些了解,带着一些好奇心,我开始使用了gson。经过比较,gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得
2014-07-29 09:05:48 352
原创 Android表格布局的使用
TableLayout(表格布局)TbaleLayout的一些属性; xml 相关用法 说明android:collapseColumns setColumnsCollapsed(in,boolean) 设置需要隐藏的列的序号,多个用逗号隔androi
2014-04-06 18:28:53 1475
原创 android 对listview数据的增删改查
android listview是常用的数据展示控件。其中对数据的增删改查操作也是常用的功能,比如重新获取了新的数据,或者添加,删除某条记录等等更新都需要对listview的数据进行重新的加载。listview更新数据只需要调用到notifyDataSetChanged()方法,就可以实现对listview数据的更新。如果涉及到线程,则需要在UI的线程更新。本文针对listview常用的操作进
2014-04-05 18:30:08 903
转载 Struts2中的get、set方法作用
Struts2中的get、set方法作用:在Struts2中,客户端和服务器之间的数据传输全部要用到get、set方法:用set方法 ,可以将表单中的值存入Action类。通过Struts2.0标签,调用get方法将Action类中的结果数据显示在页面上。 当在业务逻辑中需要用到页面传过来的值的时候,只要保证Action中属性的set方法和页面中的name属性值相
2014-03-01 22:57:02 714
原创 Android 为PopupWindow设置动画效果
首先定义显示效果的动画文件:xml version="1.0" encoding="utf-8"?> set xmlns:android="http://schemas.android.com/apk/res/android"> translate android:fromXDelta="0" android:toXDel
2014-02-11 23:09:09 1160
转载 android 各种对话框的用法
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,
2014-02-10 10:41:23 444
原创 Android AChartEngine画柱状图
你可以选择合适的版本下载,每个版本都有一个jar包、实例源代码和java doc提供下载。当前最新版本为0.6。 需要注意的是,0.6版本不再支持Android 2.0以下(包含2.0)。也就是说如果你的目标平台使用了7以下SDK版本,比如Android 1.5-2.0。则需要下载老版本的ACE 0.5。 本文以ACE 0.5为例。 1、
2014-01-29 14:37:06 723
原创 android 图片旋转
/** * 根据角度对图片进行旋转 * @param degree 旋转的角度 * @param bitmap 旋转的图片 * @return 旋转后的图片 */ public static Bitmap rotaingImageView(int degree, Bitmap bitmap) {// 旋转图片 动作
2014-01-24 17:19:50 493
转载 Android 图片旋转
那么我们怎样获取相机拍摄的原图和实际显示图片的旋转角度呢?在网上找到了这种方法,经过验证,着实可行。[java] view plaincopy/** * 读取照片exif信息中的旋转角度 * @param path 照片路径 * @return角度 */
2014-01-24 17:02:56 466
转载 android 的图片压缩
第一:我们先看下质量压缩方法:[java] view plaincopyprivate Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.c
2014-01-24 16:55:17 524
原创 android退出activity时退出所有的activity
做Android项目,退出程序时,有时不能退出所有的activity,这时我们就需要在退出时,关闭所有的activity。思路:当activity创建的时候把当前的Activity对象存放起来,等到退出的时候,关闭所有的Activity。为此,写了一个MyApplication类,用于存放所有的Activity。代码如下:import java.util.Linke
2014-01-17 21:55:59 695
原创 android 再按一次后退键退出程序
//退出标记 private static Boolean isExit = false; Timer tExit = new Timer(); TimerTask task = new TimerTask() { @Override public void run() {
2014-01-17 20:49:36 479
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人