1.概要 2.Battery Historian环境搭建: 收集数据导出报告,上传报告到Battery Historian平台看数据分析: 第2步断开手机后需要1-24小时之...
1.概要 2.Battery Historian环境搭建: 收集数据导出报告,上传报告到Battery Historian平台看数据分析: 第2步断开手机后需要1-24小时之...
ANR类型: 为什么出现ANR: 如何分析trace_*.txt解决ANR(Android新版本已经没有权限导出该文件) 看cpu和io信息,是否可以排除’为什么出现ANR‘...
1.概要 1.cpu profile分析出耗时代码,然后根据项目标准采用对应解决方法(比如idleHandler延时加载数据,或者已到子线程?)2.布局层级优化(用merge...
概要 app启动过程 速度评判标准 Android Studio CPU profile(跟踪方式本身影响会导致启动变慢,建议采用采样方式) Android8.0以上开启配置...
1.软,弱,虚引用区别: GC 扫描后不一定回收,除非内存不够;GC扫描到就回收了;及时回收; 2.垃圾回收原理: 对象创建后放在年轻代的Eden区,GC 扫描后计数+1,放...
1.为什么arraylist查找要快?因为地址是连续的,一计算就得到了目标值2.HashMap的由来?结合了ArrayList和LinkedList的优点3.Hash Map...
注解基础:1.注解的意义是什么?注解本身没有任何意义,只是一个标识,它只有结合一些如反射,字节码插桩等技术才变得有意义。1.怎么定义注解(@target,@retention...
线程生命周期 阻塞有且仅有syncronnized才会阻塞态,也可以说阻塞是被动进入等待态。 死锁条件 死锁例子 解决方案 1.打破‘争夺资源的顺序’,比如另一个线程先拿锁2...
1.线程启动方式有几种? 2.如何停止线程?不能使用暴力的stop方法,只能通过和谐的方式停止,让run方法执行完。比如用Theard.currentTheard().isI...
1.为什么要有泛型? 是为了把运行时的错误提前到编译期就发现,不会发生CaseClass Exception。代码更简洁,无需强转代码更灵活复用 2.java泛型有几种? 有...
-----------------------------End-----------------------------
总所周知,我们一般用LayoutManage的边检检测方法来确定,是否触底或者触顶,如下: 但是问题来了,当你手指松开后如果RecycleView滚动可能发生了超出内容范围(...
1.更新软件包索引: 2.允许APT使用HTTPS: 3.添加Docker官方GPG密钥: 4.添加Docker的稳定版本仓库: 5.再次更新软件包索引: 6.安装Docke...
? 和 T 是什么? ? 是通配符(wildcard,记住这个单词,这样在报错时就知道说的是 ? 通配符),T 是类型变量。 根据字面意思,<? extends T> 表示 ...
进制转化(不会单独靠,会与其他知识点结合考)(复看) 1.N进制转换为10进制:按权展开法:如7进制604.01 = 67[2] +47[0]+1*7[-2]2.十进制转换为...
1.docker安装 2.使用docker-compose.yml搭建gitlab: 3.安装gitlab: https://docs.gitlab.com/ee/insta...
重要: 装双系统,磁盘空间分配觉得不合理或者有必要的话先对磁盘进行分区, Windows的支持的MBR分区盘和NTFS格式. 然后接下来重点是必须先装Windows系统,安装...
其实我们一直对自己的期望过高,也一直对这个世界的期望过高。 看似自己到了一定的水平,收入也不差,以为是自己努力的结果!在互联网发展起来的这一代人,今天动辄就要说年薪百万,股票...
一、前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和交流门槛,对各种应用形态产生了深远影响。 做为IM开发者或即...
-------------------感谢您的耐心阅读,感谢支持与点赞-------------------