
Android
文章平均质量分 92
Solinzon
真理无穷,寸进欢喜。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LayoutInflater#inflate()方法详解
1.方法原型及参数的意义public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) 初次接触这个方法还是在1年多以前使用RecycleView的Adapter的时候原创 2017-11-03 00:29:27 · 5405 阅读 · 0 评论 -
理解HTTPS(1) -- 初识
前言在探究HTTPS前首先要了解这个协议的存在到底是为了什么问题,都知道HTTPS比HTTP安全,安全又体现在哪里呢?其实,HTTPS主要解决了加密密钥传输的安全问题。也就是说,对于数据的加密,还是采用对称加密,即加密和解密都是使用的一个密钥。但是这个密钥如何安全地让客户端和服务端都知道呢?这就需要引入HTTPS来保证密钥传输的安全性。 举个例子,把A把重要的资料放在一个只能用钥匙打开的迷你保险柜原创 2017-11-01 20:30:49 · 3726 阅读 · 0 评论 -
结合Android Studio和MAT检测并简单分析内存泄露
1.什么是GC?在分析内存泄露之前首先要了解一下GC,GC(Garbage Collection)就是Java中常提到的垃圾回收,指的是JVM会自动回收不在被引用的内存数据。2.什么是GC Roots?GC Roots即Java虚拟机当前存活的对象集,其中的每一个对象可以作为一个GC Root。 在确定一个对象是否需要被回收时,常常会用到可达性分析算法,即通过判断对象的引用链是否可达来决定对象是否原创 2017-09-23 21:01:39 · 1719 阅读 · 0 评论 -
基于高德SDK实现跑步时轨迹渐变功能
今天在无意间翻看半年多前做的项目的时候,除了对自己当时写的渣代码的无尽嫌弃,更多是感叹当时在遇到困难时的种种不易,印象比较深刻的是在做重邮约跑的时候视觉要求做一个跑步时轨迹动态渐变的功能,并且采用均匀渐变,当时翻看高德SDK时候并没有发现相应的API,所以也是一脸懵逼,只能从颜色渐变的原理入手,逐步自己写一个工具类来实现了。 效果图如下: 虽然现在来看实现起来很简单,但还是把过程记录下来吧。原创 2017-12-04 00:01:18 · 5981 阅读 · 4 评论 -
探索MVVM -- 体会DataBinding的魅力
前言本文用到的demo是以“「ONE · 一个」”的API为基础,模仿其功能实践一下MVVM的用法,以感受MVVM架构为主要目的,并未完全模仿其功能,代码结构借鉴了Google的sample。 虽然谷歌今年出了一个架构组件指南,来指导开发者构建App,但对于在实际生产过程中常用到MVP和MVVM的还是不能忽略其用法,毕竟都是架构思想都是一步一步在朝着解耦化,规范化演进。以前写东西用得最多的就是MVP原创 2017-12-06 00:46:26 · 875 阅读 · 0 评论 -
解锁Retrofit -- 浅析Retrofit源码
前言在Android的异步网络请求中,一般都会使用到一些优秀的开源库来简化网络请求与线程切换过程,Retrofit+RxJava也是时下最热门的搭配,对与Retrofit的学习,也给我带来的极大的收获,特别是了解其中的一些套路,会给自己的开发带来很大的启示。1.主线任务在具体分析之前,采用单步调试的方式先把主线拎出来,理解大致的运行过程: 在开始分析之前,有两个需要明白的地方: 1.Retrof原创 2017-12-13 21:48:40 · 788 阅读 · 1 评论 -
APK签名知识扫盲
签名的意义签名主要用于表面开发者的身份和操作权利,在签署APK时,在签署 APK 时,签署工具会将公钥证书附加到 APK。公钥证书充当“指纹”,用于将 APK 关联到开发者。主要用途是在升级应用的时候确保新版应用的来源是开发者本人,并且可以验证应用是否被第三方修改过。证书公钥证书(也称数字证书、身份证书)包含公钥以及标示密钥所有者的一些其他数据(如数字签名、签名算法、开发者姓名,居住地等)。 在给原创 2017-12-13 00:51:35 · 1128 阅读 · 0 评论 -
一种横向业务的解决方案 -- AOP
AOP(Aspect Oriented Programming)即面向切片编程。所谓面向切片编程,就是可以按照时间,将程序分成无数个时间节点,利用AOP的思想,可以在任何一个时间节点插入其他的代码,来实现自己的业务需求。换句话说,对于那些非用户需求,如:性能监控、日志记录、埋点统计、动态权限、安全控制、异常处理等,可以用AOP完美地实现。 以一个方法的执行为例子: 方法的执行顺序是A-&g...原创 2018-02-12 23:46:08 · 1143 阅读 · 0 评论