掘金官网Android面试题
Android 动画
算法和数据结构
设计模式
Android项目里用到的设计模式
凯子哥之《Android源码设计模式解析》读书笔记——Android中你应该知道的设计模式
直播
从0到1打造直播 App(iOS /Android直播流程介绍整理
FFmpeg
仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑(上)
仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑(下)
何俊林大神
自定义View
自定义View合集
HenCoder Android 开发进阶: 自定义 View 1-1 绘制基础
自定义View大全--值得学习
内存泄漏,内存优化(重点)
Android 性能优化
多线程,线程池
Handler Looper Message Messager MessageQueue源码分析
Handler Looper Message Messager MessageQueue源码分析
AsyncTask 源码,为什么 android4.0 以后是串行
Activity源码
Activity四种启动模式,生命周期
View的绘制流程
EventBus源码分析
从 EventBus 中学到的精华
EventBus--github
Glide ,Picasso 都分别有几个线程池
volley 与 okHttp
数据库 greenDao,realm,litePal 等等性能方面的问题
FFmpeg 相关经验还有做过视频剪切
Java String 类的底层源码,Hashmap 实现原理
Android 广播 Service 相关的,
ANR
gson 高级用法(比如序列化的时候如何排除某个字段)
android 手势机制用到了什么设计模式(是责任链模式)
内存泄漏和内存溢出
子线程不能更新 view 的机制,
给我印象比较深的是问了 mac 上 pwd 这个命令是干嘛的(我用了这么久mac 确实没有用过这个命令,是显示当前文件全路径的)还有用没用过 Home brew,
Git 相关的命令 pull 跟 fetch
OnMeasure 方法几个参数对应含义
首先我们要理解的是 widthMeasureSpec, heightMeasureSpec 这两个参数是从哪里来的?onMeasure() 函数由包含这个 View 的具体的 ViewGroup 调用,因此值也是从这个ViewGroup 中传入的。这里我直接给出答案:子类 View 的这两个参数,由 ViewGroup 中的 layout_width,layout_height 和 padding 以及 View 自身的 layout_margin 共同决定。权值 weight 也是尤其需要考虑的因素,有它的存在情况可能会稍微复杂点。
了解了这两个参数的来源,还要知道这两个值的作用。我们只取 heightMeasureSpec 作说明。这个值由高 32 位和低 16 位组成,高 32 位保存的值叫 specMode,可以通过如代码中所示的 MeasureSpec.getMode() 获取;低 16 位为 specSize,同样可以由MeasureSpec.getSize() 获取。那么 specMode 和 specSize 的作用有是什么呢?要想知道这一点,我们需要知道代码中的最后一行,所有的 View 的 onMeasure() 的最后一行都会调用 setMeasureDimension() 函数的作用——这个函数调用中传进去的值是 View 最终的视图大小。也就是说 onMeasure() 中之前所作的所有工作都是为了最后这一句话服务的。
我们知道在 ViewGroup 中,给 View 分配的空间大小并不是确定的,有可能随着具体的变化而变化,而这个变化的条件就是传到 specMode 中决定的,specMode 一共有三种可能:
MeasureSpec.EXACTLY:父视图希望子视图的大小应该是 specSize 中指定的。
MeasureSpec.AT_MOST:子视图的大小最多是 specSize 中指定的值,也就是说不建议子视图的大小超过 specSize 中给定的值。
MeasureSpec.UNSPECIFIED:我们可以随意指定视图的大小。)
广播怎么不跨进程
Retrofit源码分析以及用到的设计模式
Android:手把手带你深入剖析 Retrofit 2.0 源码
RxJava 操作符
RxJava官网
RxJava 操作符
RxJava操作符2
ReactiveX文档中文翻译
使用RxJava实现延迟订阅
RxJava变换操作符:.concatMap( )与.flatMap( )的比较
避免打断链式结构:使用.compose( )操作符
RxJavaWiki
RxJava 1和2的区别
轮播怎么让用户按下三秒之后继续翻页
五种进程级别
多线程下载,3个线程如何下载10M的文件
两列 RecyclerView 如果是表格布局怎么添加 headerView
Thread 和 intentService
最牛B的一个问题是类似天猫这种大厂APP实现的全局应用代理是怎么实现的
(本意就是类似于推送的时候处理推送的逻辑不写一大堆switch case,而是在入口处动态去配置就可
尺子的效果
网友评论