稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

Android Camera App开发学习路线

对于智能手机来说相机是非常重要的一个功能,它是影像的生产者,是新时代社交(图片,视频)内容的基础。后面我们将重点学习 一下安卓平台的Camera app开发。

深入学习Java虚拟机知识

Java编程语言的真核心是其虚拟机(Java Virtual Machine or JVM),JVM是真正的让Java宣言『Write Once,Run Anywhere』变成现实,JVM封装并隔离了不同的OS,JVM有它自己的标准和规范,从而凡是符合JVM的『代码』都可以在JVM上运行。Java编程语言并不是直接运行在JVM上面的,Java语言只是套在JVM上面的一层语言规则。

Android逆向技术高阶大法

安卓应用是一个客户端,与传统软件类似,需要把软件打包,然后通过某种渠道(应用市场)分发给用户,这是常规的发布方式,它的更新节奏很慢,从你在应用市场上更新后,到用户真正的执行升级,这中间很慢的,而且很多用户根本不会升级新版本,这对于互联网来说是极不友好的。传统的互联网,用户刷新一下网页后,就能看得到更新了,但对于客户端,这行不通,要想实现小时级别的发布和分钟级别的问题修复,正规的发布渠道是做不到的。于是各路大神和专家开始研究客户端的前端化,也就是运用各种技术能让发布,特别是一些问题修复性的小规模发布可以更快的传递到用户手中。

拥抱新时代的Java

Java作为面向对象编程的王牌语言,曾经风靡一时,在Web领域是绝对的老大。随着时间的推移,一些新的编程范式不断的涌现,如函数式编程,响应式编程,以及对函数的全力支持(Lambda函数)变成了大家经常谈论的话题。移动互联网的出现,以及前端的流行,让新一代的编程语言如ScalaGroovySwift以及Kotlin都大受欢迎。以函数式编程为核心的新一代编程范式慢慢变成了主流。曾经的王者Java,一度被人垢病,因为对函数支持不友好,(其实最主要的原因是如何保持好向后兼容),但也与时俱进,终于在Java 8版本迈出了重大的一步,完全支持了函数式编程。本篇将重点讨论Java 8的新特性,以及如何用Java 8来实践函数式编程。

玩转安卓运行速度优化

早在许多年以前写过一篇安卓性能优化文章,时过境迁,很多事情都有了变化,所以再专门针对程序运行速度和渲染的优化,这两方面非常直接的影响应用程序的操作流畅度,也可以称作流畅度优化方法,但更为专业的方式就是CPU优化,因为就是要提高代码的运行速度。

让你不再惧怕内存优化

之前曾经写过一篇关于如何做性能优化的文章,现在针对内存这一专项再做精细化的讨论。对于安卓应用开发来说,内存究竟会遇到什么样的问题,有什么方法可以用来测试和分析,以及有什么样的策略可以去实践优化,今天就来好好聊聊这个话题。

Android Sync Barrier机制

诡异的假死问题

前段时间,项目上遇到了一个假死问题,随机出现,无固定复现规律,大量频繁随机操作后,便会出现假死,整个应用无法操作,不会响应事件,会发生各种奇怪的ANR,且trace不固定。非常之诡异。

经过大量的复现研究和分析, 以及大神的指点后,发现与同步屏障(Sync Barrier)有关系,于是发现有必要研究一下这个东西。

Android Animation Internal Secrets

前面的文章重点讲了如何使用安卓平台提供的能力来做好一个动画。为了更深入的理解,需要去了解一下动画框架的内部机理,这样能够帮助我们做出更优雅的动画实现。

Android Animation Made Easy

动画在任何一个GUI系统中都是一个非常重要的设计元素,它可以让交互变得优雅,让界面变得炫酷,让操作变得更加的舒畅,让状态过渡变得更加的顺滑,对视觉效果有极大的提升,时而提升用户体验,特别是对于移动应用来说,更是如此。就好比水果平台,最为吸引人的地方就在于其炫酷流畅的动画效果。早期的Android,在动画这一块确实差,不过,近些年,随着谷歌不断的加大力度在提升,现在来说安卓在动画这一块已经跟水果差不多了。今天就来聊一聊关于动画的话题。