使用 TraceView 找到卡顿的元凶以及 StrictMode 优化代码逻辑 (mp.weixin.qq.com)
读完本文你将了解到:

1.TraceView 是什么;
2.如何生存trace文件;
3.根据TraceView显示定位问题
4.解决DDMS中find功能无法使用的问题
5.TraceView使用场景
6.StrictMode严苛模式使用
by @code小生 2018-12-23 19:43 分享 查看详情
我们始终不能只靠技术来生活 (mp.weixin.qq.com)
虽然目前看起来我们都在做着自己的事情,一切在顺利的进行着,但是,实则不然,我们每个人的身边或是自身已充满着“危机”,这里说的危机是指你的自身价值可替代性。

不管你做什么,自己的不可替代性是最重要的。那么如何解释这点呢?细心想想,不难。
by @code小生 2018-12-23 19:42 分享 查看详情
该用路由来管理你的界面跳转了 (mp.weixin.qq.com)
一般情况来说,我们做界面跳转直接调用starActivity方法即可;当然你不考虑后续维护,程序不会多变,你可以一直这么用下去,没什么大碍;但是我们程序一般维护到底,直到下线为止;那么就该尽量的对程序做维护做优化了,比如对界面的跳转做优化;
by @code小生 2018-12-23 19:41 分享 查看详情
Android:手把手教你如何优雅的实现APP启动速度优化 (mp.weixin.qq.com)
随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关。应用的启动速度缓慢这是很多开发者都遇到的一个问题,比如启动缓慢导致的黑屏,白屏问题,大部分的答案都是做一个透明的主题,或者是做一个Splash界面,但是这并没有从根本上解决这个问题, 只是从视觉上让用户以为黑屏白屏问题得到了解决。那么如何从根本上解决这个问题或者做到一定程度的缓解?
by @code小生 2018-12-23 19:41 分享 查看详情
对 Kotlin 与 Java 编程语言的思考 (mp.weixin.qq.com)
近期学习了下 Kotlin,不得不说 Kotlin 比 Java 简洁不少,个人感觉代码量能减少 50%。到现在已经使用Java语言做服务端开发两年半的时间了,对Java某些啰嗦的语法也是有很多想法。这篇文章谈谈我对Kotlin和Java的看法。
by @code小生 2018-12-23 19:41 分享 查看详情
Android 设备唯一标识(多种实现方案) (mp.weixin.qq.com)
项目开发中,多少会遇到这种需求:获得设备唯一标识DeviceId,用于:
1.标识一个唯一的设备,做数据精准下发或者数据统计分析;
2.账号与设备绑定;
3…..
by @code小生 2018-12-23 19:40 分享 查看详情
OPPO Android 开发技术面总结 (mp.weixin.qq.com)
今天早上参加了深圳 OPPO 开发工程师的技术面试,总的来说面试过程不是很顺利。面试官并没有问一些很深奥的底层原理,基本都是一些 Java 基础以及 Android 四大组件内的基础,但是我自身在开发过程中并没有很重视这些理论基础,导致很多知识点都忘记了。整个面试过程耗时一小时,感谢两位面试官不厌其烦地给我提示,一方面让我能够回想起来那些遗忘的知识点,另一方面也缓解了尴尬的气氛。。。
by @code小生 2018-12-23 19:40 分享 查看详情
LiveData 源码分析之事件总线 LiveBus 实现 (mp.weixin.qq.com)
最近的项目重构中加入 LiveData 框架,并且小码的 T-MVVM 架构项目中也是用了LiveData 框架,好不好用你试试就知道(小码口头禅),于是乎翻了翻 LiveData源代码,看了看其实现过程,在此做下笔记。
by @code小生 2018-12-23 19:39 分享 查看详情
如何衡量一个 Android 应用开发人员的能力? (mp.weixin.qq.com)
很多公司在招人这件事情上都会面临一个问题,“我们的招聘要求又不高,能做项目就行,但为什么就是招不到人?”

很多公司还面临一个问题,招聘的时候这人各方面都不错,但上岗了就是不出活,绩效平平。
by @code小生 2018-12-16 22:33 分享 查看详情
Kotlin Multiplatform - 下一代全平台开发技术 (mp.weixin.qq.com)
Kotlin Multiplatform 最重要的目标是在多平台上共享代码,现在支持的平台有JVM,Android,Javascript,iOS、Linux、Windows、Mac等,几乎覆盖所有的平台。设想下现在移动优先的策略,一个公司至少要做 Android、iOS、WAP、小程序平台。其中 Data Model,接口调用,业务逻辑等这些代码各个平台都需要用不同的语言实现。这样做了很多重复的工作,而且你需要招更多人,公司需要为更多人支付更多的薪水。
by @code小生 2018-12-16 22:32 分享 查看详情
Android CameraView 实用经验分享 (mp.weixin.qq.com)
在日常开发中我们经常需要进行相机相关的开发,一般我们都是基于优秀的开源项目 CameraView 去进行二次开发,这个组件帮助我们封装好了非常复杂的相机 API 调用,使用十分简单,但是简单的东西相应的也有不好的地方,那就是它的功能相对单一,许多功能我们都需要自己去实现,这次我就分享一下两个比较有意思的内容:1. 修复了一个可能是 BUG 的 BUG;2. 加入手动对焦功能,效果基本和原生相机一致。
by @code小生 2018-12-16 22:15 分享 查看详情
Android Application优化解耦 (mp.weixin.qq.com)
Application后处理器(AndroidPostProcessing): 通过注解配置初始化各模块及应用所需 sdk,按优先级/延时时间/是否只在Debug下有效/执行线程 等条件初始化 sdk
by @code小生 2018-12-16 22:14 分享 查看详情
Walle —— Android多渠道打包神器 (mp.weixin.qq.com)
在项目的build.gradle文件中添加walle插件依赖

dependencies {
classpath \'com.meituan.android.walle:plugin:1.1.6\'
}
然后,在app的build.gradle文件中apply插件,同时添加一个用于读取渠道名的依赖库
by @code小生 2018-12-16 22:14 分享 查看详情
Android开发之图像处理那点事——滤镜 (mp.weixin.qq.com)
在 Android 开发中,一般对图像的处理就是 Bitmap(位图),它包含了图像的全部数据,即点阵和颜色值,点阵就是包含像素点的矩阵,而颜色值就是ARGB,分别代表透明、红色、绿色、蓝色通道,它们共同决定了像素点的颜色,今天我们来讲讲关于改变图像颜色的相关知识点。
by @code小生 2018-12-16 22:13 分享 查看详情
AndroidStudio 性能优化指南(Windows 篇) (mp.weixin.qq.com)
首先,关于 AS 以及 AS 使用的基础知识就此略过不表。下面略过前戏直接开始正文~

1.AS 内存优化(针对 AS 卡顿)
by @code小生 2018-12-16 22:12 分享 查看详情
如何统计Android App启动时间 (mp.weixin.qq.com)
随着App的逻辑不断庞大,一不注意就会将耗时的操作放置在应用启动过程之中,导致应用启动速度越来越慢,用户体验也越来越差。优化启动速度是几乎所有大型App应用开发者需要考虑的问题。优化启动速度之前首先需要准确测量App启动时间,这样有利于我们更准确可量化地看出优化效果,也可以指导我们进行持续优化。
by @code小生 2018-12-16 22:11 分享 查看详情
从另一个思路来学习安卓事件分发机制 (mp.weixin.qq.com)
事件分发机制是一个安卓老生常谈的话题了,从前几年的面试必问题到如今的本当成默认都会的基础知识。关于这方面的博客网上已经有很多很多了,有从源码分析的,有从实际出发开始分析的等等。面对这么多的教程,小白可能一头雾水不知道从哪里看起,而且看完之后感觉啥也没留下。那么我打算从一个全新的角度全新的思路来讲解这个问题。
by @code小生 2018-12-09 17:58 分享 查看详情
Android-图片的压缩(质量压缩和尺寸压缩) (mp.weixin.qq.com)
1.图片存在的几种形式:

File,存在于我们的磁盘中,我们通常说的图片大小。
Stream即流的形式,比如我们上传网络图片。
Bitmap,就是我们通常指内存中图片的大小。
by @code小生 2018-12-09 17:57 分享 查看详情
最简单有效的低侵入性的 Android 组件化方案 (mp.weixin.qq.com)
上篇中我们对传统的组件化方案的实现原理进行了简单的介绍,以及对其优缺点进行了相应的分析。针对接口通信机制的方案,有如下缺点:
by @code小生 2018-12-09 17:56 分享 查看详情
Android 迁移到 Androidx (mp.weixin.qq.com)
最近 Google 发布了 Android support library 28,同时也发布了 androidx 1.0.0 第一个正式版本,然后得知支持库的 \"28.0.0\" 将会是最后一次更新,之后的更新都会迁移到 Androidx 中,所以没办法,只能把项目依赖也迁移到 Androidx 了。
by @code小生 2018-12-09 17:55 分享 查看详情