Android实践
1024工场
新技术,新未来,1024工场...
展开
-
Android实践:动态加载
在讲解Android的动态加载之前,先给大家脑补一下Java的类加载机制,这样有利于大家对后面的知识的讲解: 1.当我们调用Java命令运行某个Java程序时,该命令将会启动一个Java虚拟机进程,不管该Java程序有多复杂,该程序启动了多少个线程,它们都处于该Java虚拟机进程里; 2.当程序主动使用某个类时,如果该类还未加载到内存中,则系统会通过加载、连接、初始化3个步骤来对该类进行初始化; 类加载:将类的class文件读入内存,并为之创建一个java.lang.Class对象,也就是说原创 2017-01-22 23:03:23 · 1148 阅读 · 4 评论 -
Android实践:xUtils3探究
一、xUtils3简介xUtils是一个android使用工具框架,包含了如下几大功能: 注解定义:提供了布局,视图和事件等注解,能够简化相关的Android代码; 网络请求:支持GET、PUT、DELETE和PUT等请求方式,封装了异步Task,支持FIFO和FILO优先级线程池,提供了同步异步请求,支持https、cookie和硬盘缓存等; 图片绑定:封装了内存和硬盘缓存,优化了Bitmap加载过程,处理了ViewHolder产生的图片错乱问题,支持https等; 数据封装:封装了相关原创 2016-12-11 00:25:56 · 2661 阅读 · 0 评论 -
Android实践:MVC到MVP的演化
一、MVC1.简介MVC是目前大多数企业采用J2EE的结构设计,主要适用于交互式的Web应用。在Android中也有体现和使用,但是存在一定的弊端(下面将讲述),于是才有了Android官方推荐的MVP。原创 2016-12-02 21:41:08 · 2250 阅读 · 0 评论 -
Android实践:自实现Memory/DiskCache逻辑
在Android开发过程中,我们接触的缓存技术主要分为内存缓存和磁盘缓存。它们一般会被用来缓存http返回result、下载后渲染的Bitmap和文案等等。虽然现在已经有了比较成熟的缓存框架和工具,为了能让大家更加了解底层的实现和使用,下面我们就分别从原理和实践方面,给大家介绍下这两种技术:原创 2016-11-26 19:10:29 · 5319 阅读 · 0 评论 -
Android实践:如何高效加载Bitmap
一、BitmapFactory.Options简介在Android开发中,加载图片过多、过大很容易引起OutOfMemoryError异常,即我们常见的内存溢出。因为Android对单个应用施加内存限制,默认分配的内存只有几M(具体视不同系统而定)。而载入的图片如果是JPG之类的压缩格式(JPG支持最高级别的压缩,不过该压缩是有损的),在内存中展开会占用大量的内存空间,也就容易形成内存溢出;原创 2016-11-21 16:16:03 · 3330 阅读 · 3 评论 -
Android实践:你还没使用增量更新
一、增量更新原理从Android4.1开始,Google Play引入了Smart app update方式更新App,即增量更新。它的原理如下: 1.服务端:生成最新版本apk和手机上已安装版本的apk二进制对比(bsddiff二进制比较工具)的差分包; 2.手机端:发现需要更新时下载差分包,并使用差分包与已安装版本的apk合并成最新版的apk。使用散列算法(MD5或SHA1)校验合成的apk是否完成,如果完成即重新安装;原创 2016-11-13 22:24:58 · 2558 阅读 · 0 评论 -
Android实践:Https不再疑惑
近期由于公司的工作需要,需要将原有的http接口切换到https,故做了如下学习和整理。本文先简要说明https协议原理,然后https协议在浏览器和App的实践两方面进行讲述;一、https协议原理待整理... ... 二、https协议实践理解上面的相关原理后,我们就开始实现HttpsServlet来模拟简单登录接口,然后通过浏览器和app的访问该https接口;1.服务端http实现我们首先实现服务端http协议的get和post通信,项目的结构和主要实现代码如下:原创 2016-11-06 22:27:56 · 4277 阅读 · 1 评论