摘要: 2022 Android面经实录 Android 基础相关 Activity Fragment Service Broadcast webView binder 异步消息处理机制相关 Handler AsyncTask HandlerThread IntentService view相关 view绘 阅读全文
posted @ 2022-06-29 18:52 cfdroid 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 集合 多线程 反射 泛型 序列化 阅读全文
posted @ 2022-06-28 13:47 cfdroid 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 右键->添加->选择序列 新建一个序列名字叫判断奇偶数 创建一个输入对话框 填写对话框标题和内容 创建一个变量num 创建if条件 修改num类型 填写if判断条件 填充输出框 运行 阅读全文
posted @ 2023-03-15 15:58 cfdroid 阅读(173) 评论(0) 推荐(0) 编辑
摘要: android进程优先级 前台进程 用户当前操作所在的进程 可见进程 没有任何前台组件,但是仍会影响用户在屏幕上所见的进程,除非是维持前台进程,一般是不会杀掉可见进程 服务进程 只有内存不足以维持前台进程和可见进程时,会杀掉服务进程 后台进程 可以被随时终止,lru机制 空进程 做缓存以缩短下次运行 阅读全文
posted @ 2022-07-21 17:11 cfdroid 阅读(189) 评论(0) 推荐(0) 编辑
摘要: MVP定义 1.M:依然是业务逻辑和实体模型 2.V:对应Activity,负责view的绘制以及与用户交互 3.P:负责完成View与model间的交互 这张图总结了MVP和MVC之间的关系 MVP模式model是不会直接和View进行交互的。 mvc模式model是可以和view直接进行交互的 阅读全文
posted @ 2022-07-21 16:02 cfdroid 阅读(30) 评论(0) 推荐(0) 编辑
摘要: MVC MVC定义: M:model 模型 V:view 视图 C: controller 控制器 业务逻辑,界面,数据显示分离。 M: 处理业务逻辑 比如说数据库的操作,网络操作,甚至一些耗时操作都会放到model里面 V:处理数据显示部分 xml布局可以视为view层 C:主要是通过Activi 阅读全文
posted @ 2022-07-11 10:00 cfdroid 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 什么是冷启动 冷启动的定义 冷启动就是启动前,系统中没有该应用的任何进程信息 对应的是第一次打开应用和杀掉应用进程后再次进入应用。 冷启动 / 热启动的区别 热启动: 就是用户按了返回键或home键退出应用后,马上又重新启动应用 区别: 定义不同: 冷启动启动前,没有该应用的进程,需要重新创建该应用 阅读全文
posted @ 2022-07-10 21:28 cfdroid 阅读(59) 评论(0) 推荐(0) 编辑
摘要: java内存泄漏基础知识 简单说就是该被释放的对象一直没有释放,一直被某个对象持有导致不能垃圾回收。 java内存分配策略 静态存储区 主要存放静态数据,全局变量等。 这块内存在程序编译的时候已经分配好了,并且静态存储区中存储的变量在程序运行期间一直存在 栈区 方法体内的局部变量会在栈区内创建内存空 阅读全文
posted @ 2022-07-10 17:46 cfdroid 阅读(51) 评论(0) 推荐(0) 编辑
摘要: UI卡顿的原理 60fps->16ms android 每隔16ms,触发一次UI渲染。如果每次渲染成功,就可以达到流畅的效果。否则就是卡顿。 为什么是60fps,因为人眼对画面的捕捉是有一定限制性的,达到60fps即每秒60帧及以上人眼是分辨不出来的。 换算过来就是16ms内要完成一帧的渲染。 o 阅读全文
posted @ 2022-07-10 16:01 cfdroid 阅读(396) 评论(0) 推荐(0) 编辑
摘要: recycle方法 recycle方法什么意思,我们知道bitmap是存在于java内存和native内存当中的。 所以说当它被回收的时候,需要分两部分来回收,一是java内存一是native内存。 在android 3.0以前bitmap像素数据和bitmap对象是一起存放在堆中的。这时候你只需要 阅读全文
posted @ 2022-07-09 20:31 cfdroid 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 什么是OOM 当前占用的内存加上我们申请的内存资源超过虚拟机的最大内存限制就会抛出OOM(out of memory )异常; android中,系统会为每一个app分配内存空间,其实就是zygote进程通过fork操作拷贝自己, 这样每个app都可以运行在独立的进程空间内,不受其他app的影响 但 阅读全文
posted @ 2022-07-09 13:46 cfdroid 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 什么是ANR 如果有一段时间程序点击不够灵敏,系统就会向用户显示一个对话框,而这个对话框的内容就是anr(Application not responding) 让用户选择等待程序继续运行,同时也可以选择关闭对话框终止程序运行 结果就是非常影响用户体验 Activity最长时间五秒 广播最长的执行时 阅读全文
posted @ 2022-07-09 11:52 cfdroid 阅读(80) 评论(0) 推荐(0) 编辑