
书: https://pan.baidu.com/s/1A6ZLSPMbCiZ-L4eRucUvXQ?pwd=kt7i
一些笔记分享给大家:
一、Android开发基础
- “Android Studio是官方推荐的开发工具,Gradle负责项目构建,
build.gradle文件管理依赖库。” - “
Activity是用户界面的载体,onCreate()是其生命周期起点,setContentView()绑定布局。” - “
Log.d(TAG, "message")用于调试输出,比System.out.println更高效,可通过Logcat过滤查看。”
二、UI设计与布局
- “布局文件(XML)通过
LinearLayout、RelativeLayout等组织控件,ConstraintLayout是性能最优的现代布局。” - “
RecyclerView替代ListView,通过ViewHolder复用Item视图,结合LayoutManager实现列表、网格、瀑布流。” - “
Material Design强调卡片、阴影、动画,AppCompat库兼容旧版本Material组件。”
三、四大组件
- “
Activity之间通过Intent跳转,显式Intent指定目标类,隐式Intent匹配<intent-filter>。” - “
Service在后台执行长时间任务,startService()启动后需手动停止,bindService()绑定后随客户端销毁。” - “
BroadcastReceiver监听系统或应用广播,动态注册需代码中调用registerReceiver(),静态注册在AndroidManifest.xml声明。” - “
ContentProvider跨应用共享数据,Uri标识资源路径,Cursor返回查询结果。”
四、数据存储
- “
SharedPreferences存储键值对,适合简单配置;SQLite数据库通过SQLiteOpenHelper管理表结构升级。” - “文件存储分内部存储(应用私有)和外部存储(需权限),
Context提供openFileInput()/openFileOutput()方法。”
五、网络通信
- “
OkHttp是高效网络库,支持同步/异步请求;Retrofit基于OkHttp,通过接口注解封装RESTful API调用。” - “JSON解析推荐
Gson,fromJson()将JSON字符串转为Java对象,toJson()反向转换。”
六、多线程与异步
- “主线程(UI线程)禁止耗时操作,
AsyncTask简化异步任务,但已废弃,推荐Kotlin协程或RxJava。” - “
Handler实现线程间通信,Looper维护消息队列,Message封装数据传递。”
七、高级特性
- “
Fragment是模块化UI组件,通过FragmentManager动态添加/替换,ViewPager2实现滑动切换。” - “
ViewModel保存界面数据,屏幕旋转时不销毁;LiveData观察数据变化,自动更新UI。”
八、性能优化
- “内存泄漏常见场景:
Handler持有Activity引用、静态变量引用View,LeakCanary工具检测泄漏。” - “
ProGuard混淆代码缩减APK体积,Android Profiler监控CPU、内存、网络性能。”