Android基础知识
2024-01-05 09:35:57 7 举报
AI智能生成
登录查看完整内容
Android是一个由Google开发的开源移动操作系统,专为触摸屏移动设备(如智能手机和平板电脑)设计。它包括一套丰富的系统功能,如应用程序框架,丰富的用户界面组件,以及用于联网和媒体功能的API。Android应用程序使用Java编程语言编写,并运行在Android虚拟机(Dalvik或ART)上。该操作系统支持多种硬件配置,包括不同的处理器和屏幕尺寸。Android生态系统包括开发人员,设备制造商,运营商和消费者,共同推动创新和发展。
作者其他创作
大纲/内容
并发、并行
参数
线程池结构
线程池
原子性、可见行
保证有序
volatile
synchronized(可重入)
lock
ReadWriteLock
ReentrantLock
atomic
CountDownLatch
锁
多线程问题
线程
管道
信号量
共享内存
socket
aidl
ContentProvider
个数(1MB-8KB)
多线程
binder
进程间通信
进程
用户态和核心态
操作系统
浏览器如何验证HTTPS证书的合法性
浏览器如何验证HTTPS证书的合法性2
对称、非对称算法
Https原理
OKHttp
注解
Retrofit
网络框架
网络
简单工厂
抽象工厂
静态代理
动态代理
代理模式
装饰模式
策略模式
观察者模式
责任链模式
builder模式
为什么要用volatile
懒汉
饱汉
内部类
双重校验
枚举
单例
mvc、mvp、mvvm区别
设计模式
ULT、KLT(java使用的是KLT)
线程模型
MAX_PRIORITY:10
MIN_PRIORITY:1
NORMAL_PRIORITY:5
新建线程将继承它的父线程的优先级
优先级
任务切换开销少
吞吐量大
先来先做公平性
优点
响应时间长
缺点
先进先出(FIFO)
优先调度耗时时间短的(提前预知任务的耗时情况,任务的剩余时间)
响应时间比较低
耗时时间长的任务一直在等待,形成饥饿
频繁切换线程上下文,额外开销大
最短耗时任务优先(SJF)
每个任务都分时间片
任务完成时间顺序是以耗时时间从小到大排列
每个任务都是公平调度
哪怕耗时短的任务,在耗时长的任务后面,可以快速调度只是耗时短的任务
上下文切换开销大,尤其cpu缓存
时间片如何设置?(设置时间短了,调度开销增大,设置时间长了,那最极端的就是FIFO一样)
耗时差不多的任务
适用场景
任务需要大量计算,对IO读写任务
不适用场景
时间片轮转(RR)Round Robin
最大最小公平算法
线程调度算法
缓存一致性
单例中使用volatile
CopyOnWriteArrayList原理
list
HashMap
map
并发
继承
聚合
对象
内存区域
内存模型
内存
双亲委派模型
BootClassLoader
PathClassLoader
DexClassLoader
类的加载方式
类的结构
怎么标记一个对象是否可被回收
回收算法
垃圾回收机制
强引用
软引用
弱引用
虚引用
引用
反射
java
activity、window、view关系
当由Activity A跳转到Activity B时的执行顺序 > A的onPause() > B的onCreate() > B的onStart() > B的onResume() > A的onStop()
当按返回按钮由Activity B返回到Activity A时的执行顺序 > B的onPause() > A的onStart() > A的onResume() > B的onStop() > B的onDestroy()
生命周期
Activity
Service
Broadcast
四大组件
Android为什么选择使用binder
Binder
绘制机制
对比listview优点
RecyclerView原理
ACTION_DOWN
ACTION_MOVE
ACTION_UP
ACTION_CANCEL
事件类型
事件传递机制
事件机制
帧动画
间补动画
属性动画
动画
bitmap
SurfaceView
TextureView
主dex
Odex
multiDex
UI
原理
如何进行线程切换
Looper死循环
内部类持有外部类引用
handler内存泄漏原因
threadLocal
Handler
activity
service
broadcast
原因
检测
ANR
没反注册
context没有释放
怎么检测
内存泄漏
图片占用内存大小
图片
文件
OOM
层级深
主进程耗时
字符串格式化
正则
卡顿
启动流程
加固
打包流程
如何优化容器性能
WebView
android
HashTable
ConcurrentHashMap
CopyOnWriteArrayList
容器
EventBus
事件总线
Glide
DownloadImage
Volley
Picasso
Fresco
图片框架
ARouter
路由
框架
Observerable
Observer
Observer模式
Rxjava
响应式编程
包大小
秒开
启动速度
多渠道打包
哪些不能混淆
混淆
优化
Kotlin
项目
你认为你印象比较深的一件事情
收藏
0 条评论
回复 删除
下一页