概述
2019 年 Google I/O 大会上宣布今后将越来越优先采用 Kotlin 进行 Android 开发,Kotlin 是一种富有表现力且简洁的编程语言,不仅可以减少常见代码错误,还可以轻松集成到现有应用中。关于 Kotlin 的基础用法可参考: Kotlin 官方文档 和 Kotlin笔记系列。
2019 年 Google I/O 大会上宣布今后将越来越优先采用 Kotlin 进行 Android 开发,Kotlin 是一种富有表现力且简洁的编程语言,不仅可以减少常见代码错误,还可以轻松集成到现有应用中。关于 Kotlin 的基础用法可参考: Kotlin 官方文档 和 Kotlin笔记系列。
Android App 的每个进程有一个最大内存限制,如果申请的内存资源(只有Java heap受这个限制, Native heap 不受限制)超过这个限制,系统就会抛出 OOM 错误。Java heap 占用过多整体来说可以分为两类:
内存优化参考 Android性能优化之内存优化。
AMS 和 WMS 会检测App的响应时间,如果App在特定时间无法响应屏幕触摸或键盘输入时间,或者特定事件(生命周期等)没有处理完毕,就会出现 ANR(Application Not Responding)。
ANR 一般有以下几种类型:
Input dispatching timed out
。Timeout of broadcast BroadcastRecord
。Timeout executing service
。timeout publishing content providers
。Canvas的官方注释: To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).
即当需要draw的时候,需要4个基本的组件:
RecyclerView 作为替代 ListView 的组件,得益于 RecyclerView 的灵活性和可定制程度高的特性,除此之外 RecyclerView 的预取机制以及缓存机制也是一大亮点。相关类: