未解决的问题
Android
Android问题 | 备注 |
---|---|
代码混淆 | 代码混淆配置操作,需要彻底弄清楚 |
gradle | Gradle脚本编程,主要还是在工程中的配置常用的操作应该学会 |
maven | maven常规使用方式,Gradle和maven结合使用的方式 |
内存 | private dirty,shared dirty |
framework层 | 各种ManagerService \WMS,AMS |
学习ui | 链接 |
Java
Java问题 | 备注 |
---|---|
CAS | 不采用锁情况下进行线程安全的操作 |
NIO | OKhttp中采用的一种非阻塞的方式,有待了解 |
架构
问题 | 备注 |
---|---|
网络模块 | 压缩、安全、容灾、重试、降级、证书校验 |
解决问题的思想总结
程序结构设计,数据结构组织方式
设计思想、数据结构相关 | 备注 |
---|---|
缓存池 | 对象复用的优点。缓存池可以避免大量对象的重复创建,避免小对象大量产生 |
静态对象复用 | 对象复用,避免小对象的高频率重复创建。复用的静态对象每次使用前进行reset操作 |
Android
Android | 备注 |
---|---|
性能考虑 | 两点考虑,是否是大量占用CPU资源的操作,是否会引发内存泄漏和内存抖动 |
ANR | 主线程网络、IO、主线程获取锁,但子线程在占用锁IO和网络 |
散乱的知识点记录
- 这里应该记录的是哪些仔细探究过的知识点,但不应包含太简单的知识点
Android
知识点 | 备注 |
---|---|
HandlerThread | 异步操作很方便,含有默认looper的线程 |
AsyncTask | 异步消息操作,主要用于与主线程交互 |
Java
解决的某些特定问题
- 例如编译、安装等类似问题的链接
问题 | 解决方案 | 说明 |
---|---|---|
Unable to load class ‘org.gradle.api.internal.component.Usage’. | https://blog.youkuaiyun.com/u013110200/article/details/78424980 | Android studio编译遇到的问题 |
drawable和drawable-v24.Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class android.support.design.widget.BottomNavigationView | 因为图片仅仅放在了drawable-v24中,没有放在drawable中,导致图片找不到的问题.报错的特点是 Binary XML file line #0 | |
Exception in thread "main" com.alibaba.fastjson.JSONException: not close json text, token : [ | json 数据格式问题,可能在较短的时间内接收到了多组json字符串 | |
在Ubuntu16.04下搜狗输入发崩溃的问题 | 安装缺少的包sudo apt install libopencc1 fcitx-libs fcitx-libs-qt fonts-droid-fallback | 查看链接 |
简单的 key - value 问题
key | value | 备注 |
---|---|---|
textview添加省略 | android:maxLines="1" android:ellipsize="end" android:singleLine="true" | |
动态的改变drawable的背景颜色的问题 | 如果已采用一个drawable作为背景资源,那么直接对控件setbackgroundcolor() 会覆盖已有的drawable资源,已有的drawable就无效了,这个时候就要通过动态改变drawable背景颜色来改变颜色。通过DrawableCompat 实现,参考链接 | 链接 和另一个链接 |
获得手机虚拟按键的高度的问题 | getRealMetrics()获得的是手机的实际高度,getMetrics()不包含虚拟按键高度。但是需要注意的是即使虚拟按键隐藏,getMetrics()仍然获得的结果仍然不包含虚拟按键高度 | 参考,获取状态栏高度该链接中第二种方法获取状态栏高度 |