1,多人开发时,对系统层或者公共层感知不明显
android 后面都需要权限,比如读取文件sd卡权限
但启动app时有其他接口比uuid(deviceId)先启动和发出,多人开发
没有判断是否有sd卡权限就导致:
- 上一次卸载前的uuid未被读取
- 这一次安装的uuid重新生成并保持
设备uuid丢失
所以就很好解决了, 但本质上不是问题本身,是开发问题但不能严格避免
问题是要从框架上做限制,比如startup库,开发日志和监控主动上报等等
2. 简单问题被忽略
1.context:

2. 数据库
多线程问题时或者某些特定时机下没有关闭使用的资源(比如图片加载,数据库加载,toast提示等等)
https://developer.android.com/topic/performance/threads
android.database.CursorWindowAllocationException: (Cursor window allocation of 2048 kb failed. )
39
This error is nearly always due to not closing a cursor when it's finished with. Every time you open a cursor, memory is required to map the data that cursor represents and that memory cannot be released until the cursor is closed. There is a limit to the amount of memory available for this purpose so if cursors are not closed and an application continues to open new ones, this error is likely to occur at some point.
I recommend you examine your code to make sure that all cursors created are being closed at some point. Also take care with any code that opens a cursor within a loop - your error message says 'open Cursors=736' which suggests a lot of cursor activity within a loop of some sort.
3 值传输:
https://developer.android.com/reference/android/os/TransactionTooLargeException
3. 部分不了解或者没有文档公开说明其实现机制,靠开发或者系统分析发现(webview后台被冻结,刮码跳出/弹窗等等)
4. 网络超时导致的错误率居然240里面有220多个
++
说是运维的问题,但是就我自己的网站和维护的网站看,实际上失败率不会这么高,这完全是有问题
要么dns问题
要么被代理block
要么被运营商http拦截
要么地域接入限制等等(好多业主和我说移动网络打不来业主站)