Android知识点归纳,你想要的这里都有!

文章目录

1. 四大组件

Activity

https://www.jianshu.com/p/7c193337702d

Service

https://www.jianshu.com/p/d963c55c3ab9

https://www.jianshu.com/p/e04c4239b07e

Content Provider

https://www.jianshu.com/p/ea8bc4aaf057

Broadcast Receiver

https://www.jianshu.com/p/ca3d87a4cdf3

Activity之间的通信方式

https://www.jianshu.com/p/f836432396f0

横竖屏切换的时候,Activity 各种情况下的生命周期

https://blog.csdn.net/hzw19920329/article/details/51345971

Activity与Fragment之间生命周期比较

https://www.jianshu.com/p/b1ff03a7bb1f

Activity上有Dialog的时候按Home键时的生命周期

https://blog.csdn.net/hanhan1016/article/details/47977489

两个Activity 之间跳转时必然会执行的是哪几个方法?

https://blog.csdn.net/m_xiaoer/article/details/72881082

Activity的四种启动模式对比以及使用场景

https://blog.csdn.net/CodeEmperor/article/details/50481726

Activity状态保存与恢复

https://blog.csdn.net/sinat_33921105/article/details/78631823

Activity 怎么和Service 绑定

https://www.jianshu.com/p/5d73389f3ab2

Service和Activity怎么进行数据交互?

https://www.jianshu.com/p/cd69f208f395

Service的开启方式

https://www.jianshu.com/p/2fb6eb14fdec

请描述一下Service 的生命周期

https://www.jianshu.com/p/8d0cde35eb10

谈谈你对ContentProvider的理解

https://www.jianshu.com/p/f5ec75a9cfea

ContentProvider、ContentResolver、ContentObserver 之间的关系

https://blog.csdn.net/heqiangflytosky/article/details/31777363

请描述一下广播BroadcastReceiver的理解(实现原理)

https://www.jianshu.com/p/ca3d87a4cdf3

广播的分类

https://www.jianshu.com/p/ca3d87a4cdf3

广播使用的方式和场景

https://www.jianshu.com/p/ca3d87a4cdf3

本地广播和全局广播有什么差别?

https://www.jianshu.com/p/bfbb6ebc1c04

Application 和 Activity 的 Context 对象的区别

https://www.cnblogs.com/liyiran/p/5283551.html

2. Fragment

有个大神自己封装了Fragment,基本覆盖了大部分你能遇到的坑,看看他的文章:

https://www.jianshu.com/p/d9143a92ad94

什么是Fragment

https://www.jianshu.com/p/2bf21cefb763

为什么要用Fragment

https://www.cnblogs.com/shaweng/p/3918985.html

Fragment与Activity的通信方式

https://www.jianshu.com/p/825eb1f98c19

Fragment各种情况下的生命周期

https://www.jianshu.com/p/b1ff03a7bb1f

Fragment之间传递数据的方式?

https://www.jianshu.com/p/f87baad32662

Fragment的add与replace的区别

https://blog.csdn.net/gsw333/article/details/51858524

用Fragment有遇过什么坑吗,怎么解决

https://www.jianshu.com/p/d9143a92ad94

getFragmentManager,getSupportFragmentManager ,getChildFragmentManager三者之间的区别

https://blog.csdn.net/allan_bst/article/details/64920076

FragmentPagerAdapter与FragmentStatePagerAdapter的区别与使用场景

https://blog.csdn.net/lamp_zy/article/details/52446842

3. 自定义组件、动画

了解自定义view,这里:

https://www.jianshu.com/p/c84693096e41

描述一下View的绘制流程

https://www.jianshu.com/p/060b5f68da79

onDraw()与dispatchDraw()的区别

https://www.jianshu.com/p/89efaf8bd3dd

说说自定义view的几个构造函数

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0806/4575.html

View 里面的 onSavedInstanceState和onRestoreInstanceState的作用

https://blog.csdn.net/shouniezhe/article/details/47705001

onLayout() 和Layout()的区别

https://blog.csdn.net/h183288132/article/details/50184423

描述一下getX、getRawX、getTranslationX

event.getX():表示的是触摸的点距离自身左边界的距离 

event.getY():表示的是触摸的点距离自身上边界的距离

event.getRawX:表示的是触摸点距离屏幕左边界的距离

event.getRawY:表示的是触摸点距离屏幕上边界的距离 

View.getWidth():表示的是当前控件的宽度,即getRight()-getLeft()

View.getHeight():表示的是当前控件的高度,即getBottom()-getTop() 

View.getTop():子View的顶部到父View顶部的距离

View.getRight():子View的右边界到父View的左边界的距离 

View.getBottom():子View的底部到父View的顶部的距离 

View.getLeft():子View的左边界到父View的左边界的距离 

View.getTranslationX()计算的是该View在X轴的偏移量。初始值为0,向左偏移值为负,向右偏移值为正。 

View.getTranslationY()计算的是该View在Y轴的偏移量。初始值为0,向上偏移为负,向下偏移为证。 

https://blog.csdn.net/dmk877/article/details/51550031

Android中的动画有哪几类,它们的特点和区别是什么

https://www.jianshu.com/p/420629118c10

Interpolator和TypeEvaluator的作用

https://www.cnblogs.com/wondertwo/p/5327586.html

请描述一下View事件传递分发机制

https://blog.csdn.net/happy_develop_/article/details/78069370

https://blog.csdn.net/guolin_blog/article/details/9097463

https://www.jianshu.com/p/e99b5e8bd67b

https://www.jianshu.com/p/3581fcf302fd

事件分发中的onTouch 和onTouchEvent 有什么区别,又该如何使用?

触摸onTouch事件和点击onClick事件有什么关系?

(1)执行先后不一样。触摸事件先执行

(2)触摸事件返回值影响点击事件(前者影响后者,而后者不影响前者)

https://www.cnblogs.com/smyhvae/p/4802274.html

https://blog.csdn.net/huiguixian/article/details/22193977

View和ViewGroup分别有哪些事件分发相关的回调方法

https://www.jianshu.com/p/e99b5e8bd67b

View刷新机制

https://blog.csdn.net/chenzhiqin20/article/details/8628952

requestlayout 与 invalidate的区别

一般来说,只要刷新的时候就调用invalidate,需要重新measure就调用requestLayout,后面再跟个invalidate(为了保证重绘),这是我个人的理解。

https://blog.csdn.net/litefish/article/details/52859300

onSave()与onSaveLayer()的区别

https://www.jianshu.com/p/e90accd0967f

onSave()与restore()的区别

https://www.w3cplus.com/canvas/canvas-states.html

4. 存储方式

描述一下你知道的数据存储方式

https://www.jianshu.com/p/540e44f00d3e

SharedPreferences的应用场景,核心原理是什么

https://www.jianshu.com/p/ae2c7004179d

https://blog.csdn.net/dbs1215/article/details/78531258

SharedPreferences是线程安全的吗?

去源码看看有没有同步锁就知道了,答案是线程安全的。

描述一下图片存储在本地的方式

https://www.jianshu.com/p/8cede074ba5b

https://blog.csdn.net/ccpat/article/details/45314175

sqlite升级,增加字段的语句

https://blog.csdn.net/xu_song/article/details/49658195

数据库框架对比和源码分析

https://blog.csdn.net/u012702547/article/details/52226163

https://www.jianshu.com/p/c4e9288d2ce6

数据库的优化

https://www.jianshu.com/p/3b4452fc1bbd

数据库数据迁移问题

https://www.cnblogs.com/awkflf11/p/6033074.html

5. 网络

TCP三次握手与四次挥手

https://blog.csdn.net/seu_calvin/article/details/52966804

描述一次网络请求的流程

https://blog.csdn.net/seu_calvin/article/details/53304406

HTTP报文结构

https://www.jianshu.com/p/e544b7a76dac

HttpClient和HttpURLConnection的区别

https://www.cnblogs.com/zhousysu/p/5483896.html

Volley,okhttp,retrofit之间的区别和核心原理和使用场景

https://www.jianshu.com/p/050c6db5af5a

描述一下https

https://showme.codes/2017-02-20/understand-https/

https://baijiahao.baidu.com/s?id=1570143475599137&wfr=spider&for=pc

https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?

https://showme.codes/2017-02-20/understand-https/

https://www.jianshu.com/p/b894a7e1c779

说一下三次握手,四次挥手的具体细节

我经常用面试问别人这道题,哈哈,为什么不能两次握手呢?要三次?

https://www.cnblogs.com/feng9exe/p/8058891.html

https://www.cnblogs.com/Andya/p/7272462.html

描述一下socket是什么东西

https://www.jianshu.com/p/089fb79e308b

从网络加载一个10M的图片,说下注意事项

https://www.jianshu.com/p/7c81d3742c38

https://www.jianshu.com/p/f850a23ab99c

TCP与UDP的区别

https://blog.csdn.net/li_ning_/article/details/52117463

client如何确定自己发送的消息被server收到?

HTTP协议里,有请求就有响应,根据响应的状态吗就能知道拉。

WebSocket与socket的区别

https://blog.csdn.net/wwd0501/article/details/54582912

网络请求缓存处理,okhttp如何处理网络缓存的

看源码,看缓存策略

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0326/2643.html

自己去设计网络请求框架,怎么做?(随便套个开源框架的原理)

就套okhttp的,被google承认并使用的框架,准没错。

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0326/2643.html

6. 图片

说一下OOM的原因,如何避免

https://blog.csdn.net/boyupeng/article/details/47726765

说一下三级缓存的原理

https://www.jianshu.com/p/97455f080065

https://www.jianshu.com/p/eadb0ef271b0

描述一下内存缓存的容器

LruCache其实是一个Hash表,内部使用的是LinkedHashMap存储数据

https://blog.csdn.net/justloveyou_/article/details/71713781

图片库对比

https://www.jianshu.com/p/fc72001dc18d

Glide图片库的源码分析

https://blog.csdn.net/guolin_blog/article/details/53759439

图片框架缓存实现

郭霖大神写了几篇文章介绍Glide,都有详细介绍

https://blog.csdn.net/guolin_blog/article/details/53759439

LRUCache原理

LruCache的核心思想很好理解,就是要维护一个缓存对象列表,其中对象列表的排列方式是按照访问顺序实现的,即一直没访问的对象,将放在队尾,即将被淘汰。而最近访问的对象将放在队头,最后被淘汰。

由此可见LruCache中维护了一个集合LinkedHashMap,该LinkedHashMap是以访问顺序排序的。当调用put()方法时,就会在结合中添加元素,并调用trimToSize()判断缓存是否已满,如果满了就用LinkedHashMap的迭代器删除队尾元素,即近期最少访问的元素。当调用get()方法访问缓存对象时,就会调用LinkedHashMap的get()方法获得对应集合元素,同时会更新该元素到队头。

https://www.jianshu.com/p/b49a111147ee

https://www.cnblogs.com/tianzhijiexian/p/4248677.html

自己去实现图片库,怎么做?(随便套个开源框架的原理)

套Glide的就OK拉,从设计思想,然后到实现方式

说说Glide内存缓存的具体实现?

https://blog.csdn.net/guolin_blog/article/details/54895665

7. 布局

说一下布局性能的排序,谁的效率最高

(1)RelativeLayout慢于LinearLayout是因为它会让子View调用2次measure过程,而LinearLayout只需一次,但是有weight属性存在时,LinearLayout也需要两次measure。

(2)RelativeLayout的子View如果高度和RelativeLayout不同,会导致RelativeLayout在onMeasure()方法中做横向测量时,纵向的测量结果尚未完成,只好暂时使用自己的高度传入子View系统。而父View给子View传入的值也没有变化就不会做无谓的测量的优化会失效,解决办法就是可以使用padding代替margin以优化此问题。

(3)在不响应层级深度的情况下,使用Linearlayout而不是RelativeLayout。

https://blog.csdn.net/seu_calvin/article/details/53047682

描述一下约束布局

https://blog.csdn.net/zhaoyanjun6/article/details/62896784

关于布局优化的方案

学会用约束布局,基本优化很多了,但是老方法还是要会,面试官多数比较守旧。因为资深,年纪也可能稍微大一点,哈哈。

https://www.cnblogs.com/hoolay/p/6248514.html

怎么检测布局深度

https://blog.csdn.net/hp910315/article/details/52684039

LinearLayout、RelativeLayout、FrameLayout的特性及对比,并介绍使用场景。

https://blog.csdn.net/seu_calvin/article/details/53047682

8. 性能优化

PS:性能优化包括内存,处理效率,视觉流畅度,CPU,电量,流量等方面,针对手机的性能去做相应的方案。个人认为更应该把握好内存优化、处理效率(代码质量)、视觉流畅度(布局优化)。

ANR产生的原因是什么?

https://blog.csdn.net/xqkillua/article/details/76687479

oom是什么?

https://blog.csdn.net/hudfang/article/details/51781997

什么情况导致oom?

https://blog.csdn.net/hudfang/article/details/51781997

有什么解决方法可以避免OOM?

https://blog.csdn.net/hudfang/article/details/51781997

Oom 是否可以try catch?为什么?

有一种情况可以:在try语句中声明了很大的对象,导致OOM,并且可以确认OOM是由try语句中的对象声明导致的,但是这通常不是合适的做法。

内存泄漏是什么?

https://www.jianshu.com/p/bf159a9c391a

什么情况导致内存泄漏?

https://www.jianshu.com/p/90caf813682d

如何防止线程的内存泄漏?

https://www.jianshu.com/p/90caf813682d

https://blog.csdn.net/zuo_er_lyf/article/details/79162017

https://www.cnblogs.com/ywq-come/p/5926422.html

内存泄露的解决方法

https://blog.csdn.net/carson_ho/article/details/79407707

内存泄漏和内存溢出区别?

https://blog.csdn.net/sinat_29255093/article/details/52556760

如何对Android 应用进行性能分析以及优化?

这个作者做了很多片性能优化的文章,建议看完

https://www.jianshu.com/p/da2a4bfcba68

怎么去除无用代码?

https://blog.csdn.net/it_flower/article/details/52305558

性能优化如何分析systrace?

https://www.jianshu.com/p/6f528e862d31

用IDE如何分析内存泄漏?

跑一段你觉得有问题的代码段,gc,再跑,再gc,看看内存会不会一直上升

https://blog.csdn.net/u010944680/article/details/51721532

Java多线程引发的性能问题,怎么解决?

https://zhuanlan.zhihu.com/p/23389156

启动页白屏及黑屏解决?

https://blog.csdn.net/zivensonice/article/details/51691136

启动太慢怎么解决?

应用启动速度,取决于你在application里面时候做了什么事情,比如你集成了很多sdk,并且sdk的init操作都需要在主线程里实现,那自然就慢咯。在非必要的情况下可以把加载延后。或者丢子线程里。

https://www.jianshu.com/p/4f10c9a10ac9

怎么保证应用启动不卡顿?

同上面一个道理,也可以做个闪屏页当缓冲时间。

https://www.jianshu.com/p/4f10c9a10ac9

App启动崩溃异常捕捉

https://www.jianshu.com/p/fb28a5322d8a

自定义View注意事项

减少不必要的调用invalidate()方法

https://blog.csdn.net/whb20081815/article/details/74474736

Https请求慢的解决办法(提示:DNS,携带数据,直接访问IP)

https://www.cnblogs.com/mylanguage/p/5635524.html

如何保持应用的稳定性

内存,布局优化,代码质量,数据结构效率,针对业务合理的设计框架

RecyclerView和ListView的性能对比

RecyclerView 相比 ListView 在基础使用上的区别主要有如下几点:

1.ViewHolder 的编写规范化了

2.RecyclerView 复用 Item 的工作 Google 全帮你搞定,不再需要像 ListView 那样自己调setTag

3.RecyclerView 需要多出一步 LayoutManager 的设置工作

4.RecyclerView 能够支持各种各样的布局效果

1.ListView 提供了 setEmptyView 这个 API 来让我们处理 Adapter 中数据为空的情况,只需轻轻一 set 就能搞定一切。

2.在 ListView 的设计中,存在着 HeaderView 和 FooterView 两种类型的视图

3.ListView 并没有提供局部刷新刷新某个 Item 的 API,RecyclerView.Adapter 则我们提供了 notifyItemChanged 用于更新单个 Item View 的刷新,

4.ListView 和 RecyclerView 局部更新 Item 的效果,你会发现相比 ListView 而言, RecyclerView 在做局部刷新的时候有一个渐变的动画效果。

https://blog.csdn.net/fanenqian/article/details/61191532

ListView的优化

可以说上分页加载哦

https://www.cnblogs.com/yuhanghzsd/p/5595532.html

RecycleView优化

https://blog.csdn.net/axi295309066/article/details/52741810

https://www.jianshu.com/p/411ab861034f

View渲染

https://www.cnblogs.com/ldq2016/p/6668148.html

Bitmap如何处理大图,如一张30M的大图,如何预防OOM

重点是在对于对内存的了解以及内存使用率的掌握

https://blog.csdn.net/guolin_blog/article/details/9316683

java中的四种引用的区别以及使用场景

https://blog.csdn.net/qq_23547831/article/details/46505287

强引用置为null,会不会被回收?

会,GC执行时,就被回收掉,前提是没有被引用的对象

一定要了解垃圾回收原理

https://blog.csdn.net/qq_33048603/article/details/52727991

性能优化,怎么保证应用启动不卡顿。

优化1:可以尽可能减少sp文件数量(IO需要时间);

优化2:像这样的初始化最好放到线程里面;

优化3:大的数据缓存到数据库里面。

Splash页面设计

布局的层次要求要减少,自定义控件的话测量、布局、绘制的时间。

https://blog.csdn.net/hpc19950723/article/details/71170345

9. JNI

请介绍一下NDK

https://www.jianshu.com/p/fa613762f516

https://blog.csdn.net/carson_ho/article/details/73250163

什么是NDK库?

https://blog.csdn.net/carson_ho/article/details/73250163

如何在JNI中注册native函数,有几种注册方式?

https://blog.csdn.net/wwj_748/article/details/52347341

Java如何调用c、c++语言?

https://www.jianshu.com/p/27404a899d88

JNI如何调用java层代码?

https://www.jianshu.com/p/4893848a3249

你用JNI来实现过什么功能吗?怎么实现的?

加密处理、影音方面、图形图像处理

https://blog.csdn.net/summer0527/article/details/1827186

10. 进程间通信

进程间通信的方式?

https://www.jianshu.com/p/ce1e35c84134

Binder机制的作用和原理

http://www.cnblogs.com/innost/archive/2011/01/09/1931456.html

https://blog.csdn.net/luoshengyang/article/details/6618363/

简述IPC?

https://blog.csdn.net/luoshengyang/article/details/6618363/

什么是AIDL?

https://www.jianshu.com/p/d1fac6ccee98

https://www.jianshu.com/p/a5c73da2e9be

AIDL解决了什么问题?

官方文档:

Note: Using AIDL is necessary only if you allow clients from different applications to access your service for IPC and want to handle multithreading in your service. If you do not need to perform concurrent IPC across different applications, you should create your interface by implementing a Binder or, if you want to perform IPC, but do not need to handle multithreading, implement your interface using a Messenger. Regardless, be sure that you understand Bound Services before implementing an AIDL.

“只有当你允许来自不同的客户端访问你的服务并且需要处理多线程问题时你才必须使用AIDL”

AIDL如何使用?

https://www.jianshu.com/p/d1fac6ccee98

https://www.jianshu.com/p/a5c73da2e9be

Android进程分类?

https://blog.csdn.net/zhongshujunqia/article/details/72458271

进程和 Application 的生命周期?

当application在Linux平台开启时,系统会给这个application创建一个进程(process)来运行同时分配内存资源给该application,当程序结束运行时,该进程结束系统回收内存资源

当application在Linux平台开启时,系统会给这个application创建一个进程(process)来运行同时分配内存资源给该application,当程序结束运行时,该进程结束系统回收内存资源

(1)前台进程

(2)可视进程

(3)服务进程

(4)背景进程

(5)空进程

Android会依据进程中当前活跃组件的重要程度来尽可能高的估量一个进程的级别。比如说,如果一个进程中同时有一个服务和一个可视的activity,则进程会被判定为可视进程,而不是服务进程。

此外,一个进程的级别可能会由于其它进程依赖于它而升高。一个为其它进程提供服务的进程级别永远高于使用它服务的进程。比如说,如果A进程中的内容提供者为进程B中的客户端提供服务,或进程A中的服务为进程B中的组件所绑定,则A进程最低也会被视为与进程B拥有同样的重要性

系统启动流程 Zygote进程 –> SystemServer进程 –> 各种系统服务 –> 应用进程

进程调度

https://blog.csdn.net/innost/article/details/6940136

谈谈对进程共享和线程安全的认识

https://blog.csdn.net/coding_glacier/article/details/8230159

https://blog.csdn.net/oweixiao123/article/details/9057445

问你线程安全的时候,不止要回答主线程跟子线程之间的切换,还有数据结构处理的线程安全问题,多线程操作同一个数据的一致性问题,等等。

11. WebView

https://www.jianshu.com/p/3c94ae673e2a

https://www.jianshu.com/p/52ec85259ccc

过一遍这个

描述一下Webview的作用

WebView控件功能强大,除了具有一般View的属性和设置外,还可以对url请求、页面加载、渲染、页面交互进行强大的处理。

WebView的内核是什么

Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。

描述一下WebView与js的交互方式

https://blog.csdn.net/carson_ho/article/details/64904691

描述一下WebView的缓存机制

https://www.jianshu.com/p/5e7075f4875f

关于WebView的优化你知道哪些

https://www.jianshu.com/p/95d4d73be3d1

有没有用过第三方WebView组件?讲一讲优势

https://www.jianshu.com/p/d3ef9c62b6c8

12. 进程保活

关于守护进程、不死进程、进程保活这些话题,有几句话想说一下:

这个近期是面的越来越少。在google的控制下,高版本基本上是扼杀了这种无赖行为,市面上现在做进程保活基本都是走厂商白名单和系统签名进程等方式,又或者应用之间互相拉起,各大应用相互合作。

但并不是说不能做,只能用各种方式混搭,去提高保活的成功率。

熟悉进程保活的干货:

https://www.jianshu.com/p/63aafe3c12af

https://blog.csdn.net/tencent_bugly/article/details/52192423

https://www.cnblogs.com/Doing-what-I-love/p/5530291.html

还有一个大神深入研究这个话题,并开源出自己的代码,在github上挺受欢迎的,大家可以去拿来试一下:

blog:https://blog.csdn.net/marswin89/article/details/48015453

github:https://github.com/Marswin/MarsDaemon

看完以上文章,so以下的问题大家心里都有数了吧?

13. 核心机制

Handler机制和底层实现

https://www.cnblogs.com/ryanleee/p/8204450.html

https://www.jianshu.com/p/b03d46809c4d

Handler、Thread和HandlerThread的差别

https://blog.csdn.net/lmj623565791/article/details/47079737/

handler发消息给子线程,looper怎么启动?

发消息就是把消息塞进去消息队列,looper在应用起来的时候已经就启动了,一直在轮询取消息队列的消息。

关于Handler,在任何地方new Handler 都是什么线程下?

我自己看不太懂这个问题

ThreadLocal原理,实现及如何保证Local属性?

https://www.cnblogs.com/hadoop-dev/p/7092935.html

https://blog.csdn.net/singwhatiwanna/article/details/48350919

请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系

https://blog.csdn.net/lovedren/article/details/51701477

AsyncTask机制

https://blog.csdn.net/yanbober/article/details/46117397

AsyncTask原理及不足

https://www.cnblogs.com/absfree/p/5357678.html

如何取消AsyncTask?

调用cancel()

但是: https://www.jianshu.com/p/0c6f4b6ed558

RxJava

http://gank.io/post/560e15be2dca930e00da1083#toc_1

为什么不能在子线程更新UI?

https://blog.csdn.net/cewei711/article/details/53028358?locationNum=2&fps=1

LruCache默认内存缓存大小

基本上设置为手机内存的1/8

如何通过广播拦截和abort一条短信?

https://blog.csdn.net/ljw124213/article/details/50492449

广播是否可以请求网络?

子线程可以,主线程超过10s引起anr

广播引起anr的时间限制是多少?

onReceive的生命周期为10秒

https://blog.csdn.net/me_dong/article/details/53582115

描述一下Activity栈

https://www.jianshu.com/p/c1386015856a

线程池有没有上限?

http://www.trinea.cn/android/java-android-thread-pool/

https://blog.csdn.net/cfy137000/article/details/51422316

ListView重用的是什么?

https://blog.csdn.net/u011692041/article/details/53099584

Android为什么引入Parcelable?

https://blog.csdn.net/jaycee110905/article/details/21517853

ListView 中图片错位的问题是如何产生的?

https://blog.csdn.net/a394268045/article/details/50726560

混合开发有了解吗?

https://blog.csdn.net/sinat_33195772/article/details/72961814

知道哪些混合开发的方式?说出它们的优缺点和各自使用场景?(解答:比如:RN,weex,H5,小程序,WPA等)

https://www.jianshu.com/p/22aa14664cf9

https://www.jianshu.com/p/52071a3d07b4

屏幕适配的处理技巧都有哪些?

https://blog.csdn.net/wangwangli6/article/details/63258270

服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达?

动态布局的理解

https://blog.csdn.net/ustory/article/details/42424313

画出 Android 的大体架构图

https://blog.csdn.net/wang5318330/article/details/51917092

Recycleview和ListView的区别

https://blog.csdn.net/sanjay_f/article/details/48830311

ListView图片加载错乱的原理和解决方案

https://blog.csdn.net/a394268045/article/details/50726560

动态权限适配方案,权限组的概念

https://blog.csdn.net/xc765926174/article/details/49103483

Android系统为什么会设计ContentProvider?

重点,跨进程

https://www.cnblogs.com/zhainanJohnny/articles/3275908.html

下拉状态栏是不是影响activity的生命周期

不会

Bitmap 使用时候注意什么?

https://blog.csdn.net/newbie_coder/article/details/9842995

Bitmap的recycler()

https://blog.csdn.net/lonelyroamer/article/details/7569248

Android中开启摄像头的主要步骤

https://www.yiibai.com/android/android_camera.html

ViewPager使用细节,如何设置成每次只初始化当前的

懒加载

https://www.jianshu.com/p/e324e8378948

https://blog.csdn.net/linglongxin24/article/details/53205878

点击事件被拦截,但是想传到下面的View,如何操作?

问题就是viewgroup被拦截,要传到子view那里,好好看这篇分发机制的文章,你就知道了

https://www.jianshu.com/p/e99b5e8bd67b

invalidate和postInvalidate的区别及使用

https://blog.csdn.net/mars2639/article/details/6650876

Activity-Window-View三者的差别

https://www.jianshu.com/p/a533467f5af5

谈谈对Volley的理解

https://blog.csdn.net/ysh06201418/article/details/46443235

ActivityThread,AMS,WMS的工作原理

https://www.jianshu.com/p/47eca41428d6

LaunchMode应用场景

https://blog.csdn.net/CodeEmperor/article/details/50481726

SpareArray原理

https://blog.csdn.net/easyer2012/article/details/37871031

请介绍下ContentProvider 是如何实现数据共享的?

https://blog.csdn.net/yhaolpz/article/details/51304345

IntentService原理及作用是什么?

https://www.jianshu.com/p/4dd46616564d

ApplicationContext和ActivityContext的区别

https://www.jianshu.com/p/94e0f9ab3f1d

封装View的时候怎么知道view的大小

https://blog.csdn.net/fwt336/article/details/52979876

AndroidManifest的作用与理解

https://www.jianshu.com/p/6ed30112d4a4

主线程中的Looper.loop()一直无限循环为什么不会造成ANR?

https://www.jianshu.com/p/cfe50b8b0a41

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值