成都那家网站做的好,网页游戏排行榜第一名,有哪些网站建设公司,不能访问子目录的网站前言 如果你也学习Android#xff0c;那么你大概率会看过我的文章。经常有读者给我留言#xff1a;“该怎么学习Android#xff1f;”、“日常学习Android的方法是什么”。 所以#xff0c;今天#xff0c;我将献上一份《Android知识图谱》#xff0c;以自身的经验 那么你大概率会看过我的文章。经常有读者给我留言“该怎么学习Android”、“日常学习Android的方法是什么”。 所以今天我将献上一份《Android知识图谱》以自身的经验 所见所闻旨在告诉大家学习Android实际上需要学习什么内容希望你们会喜欢。
Android相关
Android部分我就不分几大块了。直接列举但是列举到的每一项都是面试经常会问到并且会延伸问的所以需要深入的去研究。
四大组件有哪些说出你对他们在Android系统中的作用和理解。Activity生命周期A启动B两个页面生命周期怎么运行的为什么会这样生命周期为什么这么设计你有了解过吗。四种启动模式内部堆栈是怎么回事你工作中怎么使用的。Activity的启动过程这个我强烈建议每个Android开发人员都要清楚的知道并且跟一下源码几个核心类的作用。你会对Android有一个更好的认识。事件分发流程怎么处理滑动冲突。举例长按ListView的一个Item它变灰了。这个时候在滑动。item恢复原来的样子这个时候他们内部的事件传递是什么样子。有很多种问法所以你一定要搞清楚。自定义View,View的绘制流程。onMeasure,onLayout,onDraw都是什么作用。ViewGroup是怎么分发绘制的。onDraw里面怎么去做绘制Canvas,Path,Paint你都需要了解。并且配合ValueAnimtor或者Scroller去实现动画。有时候面试的会突发奇想问你ViewGroup是树形结构我想知道树的深度你怎么计算突然就变成了一个数据结构和算法的题。Bitmap和DrawableAnimation和AnimatorLinearLayout、RelativeLayout、FrameLayout三种常用布局的特性他在布局的时候是怎么计算的。效率如何。CoordinatorLayout配合AppbarLayout的使用以及自定义Behavior。ConstraintLayout的使用。用来减少层级。Handler消息机制推荐看一下Looper的源码进程间通信Binder机制AsyncTask源码看一下。图片的压缩处理三级缓存Lru算法分辨率和屏幕密度以及计算一个图片大小。mdpi,hdpi的关系和比例。优化内存优化布局优化启动优化性能优化。内存泄露内存溢出。怎么优化用了什么工具具体怎么做的。listView和RecycleView对比以及缓存策略。JNI很少问MVC,MVP,MVVM开源框架Okhttp,Glide,EventBus,Rxjava等,以及JetPack下的开源库要会用还说说出一些东西推荐 RetrofitOkhttp,Glide,EventBus这些看一下源码。RecyclerView四大块能实现什么效果大致怎么实现的心里要有数DecorView,Window,WindowManager,PhoneWindow关系以及个子的职责。
加分项KotlinGradleFlutter组件化插件化热修复。
Android相关总结
上面的列的相关内容看似很短一句话但是每一项都需要你深入的去研究要了解原理最好去看一下源码实现。当然还有一些是我没写到的可能是我写的时候没有想起来并不代表他们不重要你也需要重视再来一波推荐《Android开发艺术探索》强烈推荐建议细细的读如果粗心大意建议读两到三遍针对性的读。《Android进阶之光》《高级Android开发强化实战》《Android组件化架构》《Android热修复技术原理》《Android插件化开发指南》