05 2016 档案
摘要:近基于兴趣学学习了下 HTTPS 相关的知识,在此记录下学习心得。
在上网获取信息的过程中,我们接触最多的信息加密传输方式也莫过于 HTTPS 了。每当访问一个站点,浏览器的地址栏中出现绿色图标时,意味着该站点支持 HTTPS 信息传输方式。我们知道 HTTPS 是我们常见的 HTTP 协议与某个加密协议的混合体,也就是 HTTP+S。这个 S 可以是 TLS(安全传输层协议)、也可以是 SSL(安全套接层),不过我更认可另一个抽象概括的说法,HTTP+Security。不过要谈论 HTTPS 为何安全,还得从 HTTP 为何不安全说起。
阅读全文
摘要:天天P图作为图像处理类APP,内部集成了很多功能,包括滤镜、人脸检测、美白、磨皮、美妆、拼图、相机等,而且这些功能多是用底层算法依靠GPU实现,如何保证这些功能在众厂商生产的Android手机上正常高效运行,对于测试来说是一项极具挑战的任务。本文主要针对Android天天P图业务介绍我们在降低Crash率方面所做的工作,当然这里也离不开开发同学们的大力支持
阅读全文
摘要:本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇了解 Android 多线程编程不可多得的基础文章,清楚的了解这些 Android 系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。
阅读全文
摘要:Android 的反编译,相信大家都应该有所了解,apktool、JEB 等工具
我们先看一下 Apk 文件的结构吧,如下图:
1.META-INF:签名文件(这个是如何生成的后面会提到)
2.res:资源文件,里面的 xml 格式文件在编译过程中由文本格式转化为二进制的 AXML 文件格式
3.AndroidManifest.xml:android 配置文件,编译过程依然被转换为 AXML 格式
4.classes.dex:java 代码编译后产生的类似字节码的文件(dalvik 字节码)
5.resources.arsc:具有 id 值资源的索引表(asserts 文件夹中的资源不会生成索引)
6.其他文件:可由开发者自己添加,诸如 assets 等,或者 lib(native so 代码)等目录。
阅读全文
摘要:EventBus对于Android开发老司机来说肯定不会陌生,它是一个基于观察者模式的事件发布/订阅框架,开发者可以通过极少的代码去实现多个模块之间的通信,而不需要以层层传递接口的形式去单独构建通信桥梁。从而降低因多重回调导致的模块间强耦合,同时避免产生大量内部类。它拥有使用方便,性能高,接入成本低和支持多线程的优点,实乃模块解耦、代码重构必备良药。
阅读全文
摘要:从 Android 诞生的那一刻起,流畅度就为众人所关注。一时之间,似乎所有人都在讨论 Android 和 iOS 谁的流畅度更好。但是,毫不夸张的说,流畅度绝对是 Android 众多性能维度中最为奇葩的一个。因为,为了刻画这一性能维度,业界设计了各式各样的指标来对其进行衡量。可以说弄清了这些指标我们就明白了什么是流畅度,可是这似乎并不太容易。
阅读全文