记 Android 的一次面试(初级中级水平) (mp.weixin.qq.com)
ring ring ring...(这次电话面共43分钟)

面试官:我是xxx的,刚才应该有人和你打过招呼了
我:嗯嗯对,已经有同事和我打过招呼了。
by @code小生 2019-03-03 15:03 分享 查看详情
在安卓的道路上铿锵前行 (mp.weixin.qq.com)
时间过的真快,马上现在已是2018年的最后一个月了。算算日子,从毕业到现在。从事安卓开发,快三个年头。这一路走来,着实不易,想和大家分享我的故事。分享这一路走来的点点滴滴与心路历程。或许在如此寒冷的冬季,大家能相偎取暖。
by @code小生 2019-03-03 15:03 分享 查看详情
Android 框架思考--工具类设计(Glide、Picasso切换实现) (mp.weixin.qq.com)
我们在设计一个项目框架的时候,除了选定基本的骨架如MVC、MVP等之外,还有诸如网络库的选择、图片处理库的选择,选定一个适合我们项目的库之外,针对解耦以及可替换方面的考虑,如何接入进我们的项目中也就需要考虑一番了。本文从一个图片库入手,整理一下我对这方面的思考。
by @code小生 2019-02-24 15:52 分享 查看详情
APP上架到各大应用市场技巧 (mp.weixin.qq.com)
最近在倒腾了几个月的APP上架到苹果和安卓市场,这里把经验给大家共享一下。
by @code小生 2019-02-24 15:51 分享 查看详情
字节跳动Android实习面试凉凉经 (mp.weixin.qq.com)
Jvm虚拟机
messageQueue会不会阻塞ui线程
对象锁和类锁
之字形打印树
还有其他的记不清了,主要是我对二面印象太深刻了。
by @code小生 2019-02-24 15:51 分享 查看详情
Android 研发技术进阶之路 (mp.weixin.qq.com)
移动研发火热不停,越来越多人开始学习 android 开发。但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容。市面上也多是谈论知识图谱,缺少体系和成长节奏感,特此编写一份 android 研发进阶之路,希望能对大家有所帮助。
by @code小生 2019-02-17 17:23 分享 查看详情
迟来的 2018 年总结 (mp.weixin.qq.com)
想了很多总结的话语,手放到键盘上的那一刻,觉得又不知道怎么来总结,不知道这一刻你是否也有同感,2018有很多经历,也有很多故事,喝一口手边的82年可乐,开始聊聊这一年,滴滴滴老司机开车啦!
by @code小生 2019-02-17 17:23 分享 查看详情
2018 文章合集 (mp.weixin.qq.com)
每年都会对公众号的年度 Android 技术文章进行分类整理,方便查找学习。
by @code小生 2019-02-17 17:23 分享 查看详情
Android 官方架构组件(三)——ViewModel (mp.weixin.qq.com)
ViewModel类主要用来存储和管理与UI相关的数据,它能够让数据在屏幕旋转等配置信息改变导致UI重建的情况下不被销毁。
by @code小生 2019-02-17 17:22 分享 查看详情
Android 官方架构组件(二)——LiveData (mp.weixin.qq.com)
LiveData是google发布的lifecycle-aware components中的一个组件,除了能实现数据和View的绑定响应之外,它最大的特点就是具备生命周期感知功能
by @code小生 2019-01-27 16:56 分享 查看详情
Android 实习生面试经历记录 (mp.weixin.qq.com)
从 2018.12.28 的第一次面试到 2019.01.09 整整横跨了一年。也面试了几家公司的 Android 实习僧的岗位。
by @code小生 2019-01-27 16:55 分享 查看详情
RxJava2+Retrofit2+RxLifecycle3+OkHttp3网络请求封装 (mp.weixin.qq.com)
入职公司后,公司要求组件化开发,经过讨论后我将网络请求框架单独进行了封装,不过当时框架里将常用的 util 和 ui 均放入到了共同的 Common 包下,导致里面部分代码耦合,后来为了降低耦合性又将 Common 拆分为了lib_common和lib_ui,但是 lib_ui 依赖了 lib_common,还是导致部分代码耦合,最新一期为了降低组件之间的耦合性,所以单独将 lib_common 中的网络请求单独拆分,并且我又做了新的封装和完善,总之网络框架经过3次大的改造后,使用已经非常稳定了。
by @code小生 2019-01-27 16:54 分享 查看详情
Android 读写锁的应用,以及最佳的磁盘缓存设计 (mp.weixin.qq.com)
相信磁盘缓存在绝大部分的 app 上都有应用,相对于数据库缓存来说,可以不要注重于缓存的管理,比较开放和随意。
再加上 jakewharton 早年间发布的 disklrucache 框架,让我们使用磁盘缓存更加简单,效率上和数据库缓存也拉进了一步,以后有时间我在加上 disklrucache的缓存解读。
by @code小生 2019-01-20 19:11 分享 查看详情
Android 官方架构组件(一)——Lifecycle (mp.weixin.qq.com)
Lifecycle 组件指的是 android.arch.lifecycle 包下提供的各种类与接口,可以让开发者构建能感知其他组件(主要指Activity 、Fragment)生命周期(lifecycle-aware)的类。
by @code小生 2019-01-20 19:10 分享 查看详情
【Android】线程/进程绑定指定CPU核 (mp.weixin.qq.com)
此文使用的方式是先编译完so文件,然后将so文件放入项目中使用的。不是直接在项目中放入c代码运行。将c代码直接放入项目时我的项目会在c代码的位置报错,所以采用了先编译成so文件的方式,如果你的项目不报错,可以参考上面第三个文档,将代码直接放入项目中。
by @code小生 2019-01-20 19:09 分享 查看详情
Android-图片的选择,裁剪,压缩,适配高版本 (mp.weixin.qq.com)
我们之前设置拍照保存的文件地址的 Uri,都是直接Intent.putExtra(MediaStore.EXTRA_OUTPUT,文件保存的Uri路径),但是 7.0之后,对用户权限提高了保护,之前那种方式行不通了,所以我们要做7.0的判断,用 FileProvider 获取设置保存的文件 Uri,然后放到Intent.putExtra(MediaStore.EXTRA_OUTPUT,文件保存的Uri路径)中,代码如下:
by @code小生 2019-01-15 09:29 分享 查看详情
收集老是忘的 kotlin 代码片段 (mp.weixin.qq.com)
这里的核心是 kotlin 对 list 的写法和 Sequence 序列的应用,Sequence 序列会大大提升 list 处理速度,rxjava 式的调用感官是很 Nice 的。
by @code小生 2019-01-15 09:28 分享 查看详情
Java 面试题散列知识点 (mp.weixin.qq.com)
静态方法只与类相关,不与具体实现相关。并且 static 方法不是后期绑定的,它在编译期就绑定了。所有引用到该方法的对象(父类的对象也好子类的对象也好)所指向的都是同一块内存中的数据,也就是该静态方法。父类的静态方法不能被子类继承,更谈不上重写;
by @code小生 2019-01-15 09:26 分享 查看详情
Android 框架思考--界面 View 封装 (mp.weixin.qq.com)
Android 项目不管使用什么框架结构,承载界面的必然少不了 Activity 或者Fragment,而对于一个用户界面来说,有一些业务逻辑的处理是通用的,比如请求网络时需要有 loading 框,比如网络错误时需要界面有对应提示,比如通用的导航栏,比如每个界面都用 activity 就需要在 Manifest.xml 文件中配置等等,这些能否做一些封装,可以让开发者只关注具体界面的具体逻辑,快速实现一个界面?
by @code小生 2019-01-15 09:25 分享 查看详情
使用 Kotlin 做开发一个月后的感想 (mp.weixin.qq.com)
有一类程序员,自己根本没体验过的东西,看了几篇哗众取宠的博文自己也来嘲讽,我称之为云程序员。就比如 Kotlin,有人蹭热度写几篇类似“我为什么从 kotlin 又回到java”的博文,就把 kotlin 一通批判。有空看看这些蹭热度博文为啥不看看Android Developer 官网所有示例代码都是 kotlin 版本在前,java 版本在后呢?
by @code小生 2019-01-07 09:48 分享 查看详情