1. token的理解
2. 服务器通过soecket推送数据给客户端。
3. git与svn的区别
4. 开发问题及难点,如何解决
5. Aidl开发步骤
6. 数据通信
7. git命令 adb命令
8. android 事件分发机制
9. Android binder原理
10. 图片性能优化
11. tcp 3次握手,4次挥手
12. list map set各自的特点及区别
13. http协议相关
14 . 滑动事件冲突解决方法
15. 自定义view
16. 组件之间的几种数据通信方式
17. Fragmen与activity组合在一起时的生命周期
18. 开发模式MVC和MVVM
19. IntenService和Service的区别
20. Http在弱网络下的优化
21. Sqlite插入大批量数据时如何提高性能
22. Activity view window之间的关系
23. Eventbus 传递数据方式
24. RecycleView和ListView的区别
25.handler 为啥会引起内存泄露
26.aidl
27.蓝牙开发步骤
28.自定义view的优化
29. 屏幕适配
30.android UI的优化
31.线程池的创建
32.大图片的适配
33.图片性能优化
34.混淆
35.多渠道打包
36.
37.
38.
39.
40.
41.
25.
内部内持有外部内的引用,messagequen持有message,message持有handler,handler 持有activity
26.
支持的基本数据类型除了short 其它都支持,还有map和list,这2个里面的所有元素都是aidl支持的元素之一
in. 客服端数据对象流向服务端,并且服务端不能修改客户端数据
out.服务端数据对象流向客户端,客户端传递到服务端的数据对象为空,服务端可以修改客户端数据,并传递给客户端
inout.以上都行
27.
开启蓝牙,扫描蓝牙,配对蓝牙,连接蓝牙,数据通信
28.
一:降低刷新频率
减少不必要调用invalidate()方法来频繁调用onDraw()方法。有可能的,调用四种参数不同类型的invalidate()方法,只需刷新指定部分的view,而调用无参变量需要刷新整个view。
另外一个非常耗时的操作是请求layout。任何时候执行requestLayout(),会使得Android UI系统去遍历整个View的层级来计算出每一个view的大小。如果找到有冲突的值,它会需要重新计算好几次。 如果你有一个复杂的UI,你应该写一个自定义的ViewGroup类来表现它的布局。与内置的view不同,自定义的view可以使得程序仅仅测量这一部分,这避免了遍历整个view的层级结构来计算大小。
二.使用硬件加速
三.初始化时创建对象;不要在onDraw方法内创建绘制对象,一般都在构造函数里面初始化对象;
四.状态的存储与恢复:如果内存不足,而恰好我们的Activity置于后台,不幸被重启,或者用户旋转屏幕造成Activity重启,我们的View应该也能尽可能的去保存自己的属性