集合框架 (⭐⭐⭐)
集合框架,list,map,set 都有哪些具体的实现类,区别都是什么?
Java 集合里使用接口来定义功能,是一套完善的继承体系。Iterator 是所有集合的总接口,其他所有接口都继承于它,该接口定义了集合的遍历操作,Collection 接口继承于 Iterator,是集合的次级接口(Map 独立存在),定义了集合的一些 通用操作。
| 分区名 | 解释 |
|---|---|
| /system | 操作系统预留,用来存储系统文件和框架 |
| /data | 存储用户数据 |
| /cache | 系统升级过程使用的分区或者recovery |
| /vendor | 用来存储厂商对Android系统的修改 |
| /storage | 外置或者内置sdcard |
当JVM出现致命错误时,会生成一个错误文件 hs_err_pid<pid>.log 文件,其中包括了导致 JVM crash 的重要信息,可通过分析该文件定位到导致 crash 的根源。此文件默认会生成在工作目录下。也可以通过 jvm 参数指定生成路径(JDK6中引入):
1 | -XX:ErrorFile=./hs_err_pid<pid>.log |
约束布局ConstraintLayout 是一个ViewGroup,可以在Api9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout。
1 | private SparseArray<ListBean> selecteds = new SparseArray<>(); |
ANR 问题,对于从事 Android 开发的同学来说并不陌生,日常开发中,经常会遇到应用乃至系统层面引起的各种问题,很多时候因为不了解其运行原理,在面对该类问题时可能会一头雾水。与此同时,因为现有监控能力不足或获取信息有限,使得这类问题如同镜中花水中月,让我们在追求真理的道路上举步维艰。如下图: