自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (2)
  • 收藏
  • 关注

原创 Handler源码分析 - Java层

Handler最常见的使用场景就是下载回调,为了不影响用户体验Android不支持在主线程中进行耗时时操作,长时间的耗时操作会产生ANR异常,而下载无疑是耗时操作,所以我们会在子线程中进行下载。但,下载完毕进行UI操作却会发生异常,原来谷歌为了不让UI的操作出现冲突(线程的不可确定性),所以规定只能在子线程中进行UI操作,可这就尴尬了…即不让在主线程中进行联网操作,又不让在子线程中进行UI操作,我们

2017-02-19 12:33:34 217

原创 APK瘦身从11M到7.8M

今天瘦身的应用 让我们先来看没有瘦身的apk大小 第一步:分析应用,去除无用文件 可以看到该应用大小大约是11M,相对一个资讯类应用而言还是显的有点大了,既然是应用瘦身那我们就应该先思考哪些资源比较大。可以想到的是图片、第三方库…不过这终究只是我们自己推测的并没有一个明确证据。还好Android Studio提供了一些工具可以让我们看到apk中各文件所占比重,然后我们可以看那些较”重”的文件是

2017-02-17 21:48:12 245

原创 Android下拉刷新, 头在下方.

在开发中下拉刷新实在是一种常见的不能再觉的需求了, 网上也有很多优秀的第三方框架。不过之前有一个项目要求刷新的布局从下面出现而不是上面,因为没有在网上找到合适的第三方库所以就自己写了一个demo,在这里与大家分享一下。

2017-02-16 21:00:41 330

原创 点击缩展控件的三种方式

功能实现点击伸展控件的需求还是很常见, 一般是TextView的伸缩, 因为可能要显示的文本太多, 一次性展开影响用户体能, 所以把选择权交给用户, 当然也会有性能优化方面的考虑, 这里我给出三种不同方式实现上述需求.// 1.用Gong & Visible达到效果. 优点:简单; 缺点:浪费资源. public void setViewIsVisibility(View view){

2017-02-15 23:34:21 701

原创 网络请求框架对比

什么是网络请求? Android中网络请求方式有几种, 区别是什么? Http协议: 什么是Volley? 早期Android发送http请求的方式有两种:HttpURLConnection和HttpClient. 在Android5.1后Google废除了对HttpClient的支持,而后官方开始推荐使用Volley进行网络请求框架, 它也是对HttpURLConnection的

2017-02-07 18:22:02 243

转载 Android性能优化之内存优化

Android性能优化之内存优化如何避免OOM总结 减小对象内存的占用使用更加轻量的数据结构: 考虑使用ArrayMap/SparseArray而不是HashMap等传统数据结构. ArrayMap:相比HashMap更节省内存,因为不需要额外的对象实例来记录Maping操作. SparseArray:避免了对key与value的自动装箱(autoboxing),并且避免了装箱后的解箱. 避免

2017-02-06 22:04:58 230

原创 Android 学习 利用反射实现Android中的ioc框架

什么是IOC? IOC的优点? java中类与类的依赖 依赖注入 Anntaion 注解的作用域 注解范围 View的注入,事件的注入 注解的注解

2017-01-16 23:42:05 237

原创 Java:继承

//父类代码 public class Employee { private String name; private int age; private float salary; public Employee(String name, int age, float salary){ this.name = name; this.age = age; this.s

2016-08-24 11:43:40 296

原创 java中的构造器

引言:初始化和清理是涉及安全的两个问题. 构造器 用构造器确保初始化.   java引入了C++中构造器的概念,这是一个在创建对象时被自动调用的特殊方法。 为什么要用构造器?   可以假想为编写的每个类定义一个初始化()方法,该方法的名称是提醒在使用对象之前,就首先调用初始化()。然而,这同时意味这用户必须记得自己去调用此方法。通过引入构造器,类的设计者可确保每个对象都会得到

2016-06-06 22:03:21 357

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除