Andriod编程优化最佳实践

课程介绍:

如何编写高Andriod编程优化最佳实践性能和非凡用户体验的Android程序,从而从一个普通的Android开发工程到成为一个高手级别的Android开发者和架构师,是每个Android开发者和管理者关心的核心问题,编写高性能和非凡用户体验的Android程序,需要掌握:
1,精通Android程序运行的消息驱动机制,包括对整个消息驱动机制所有源码和运行流程的彻底理解;
2,通晓Android程序开发的最佳模式,当你直到这个最佳模式的时候,你会发现AsyncTask是Android的败笔,而且这个败笔一直未能够在版本升级中解决;
3,理解Android程序开发和运行背后的控制者;
4,合理使用电量;
5,能评测、分析以及改进应用程序性;
6,具备恰到好处的使用NDK、内存、SQLite的能力;
7,具备编写响应式用户体验好的应用程序的能力;
8,具备掌握Android程序UI最佳模式的能力;
9,具备掌握Android的导航、布局、数据设计的能力;
10,具备掌握和驾驭Android用户操作模式的能力;
掌握这些问题可以让你开发最高效率的Android程序并彻底理解系统,同时会对对软件架构设计有脱胎换骨的理解,最后会对Android系统有全新的认识,从此移动互联网从业生涯海阔天空。
本课程正是帮你解决如上的核心问题。

课程特色:

1,以超过20款Android应用程序商业软件和超过6款硬体产品为经验基础,带你领悟Android应用程序开发的最高秘密和系统研究的核心内幕,这些内容主要会来自于和三星、HTC、摩托罗拉等的合作经验;
2,以商业级代码和生产环境基石。

课程对象:

有一定Android开发基础,想成为Android高手

课程时长:2天

课程方式:

传统的面对面授课方式。

 

课程大纲:

第1堂课:高性能Android应用程序开发的最佳模式(具备掌握高性能程序编写的能力)
1、Main Thread+HandlerThread
2、剖析HandlerThread的源码实现
3、使用HandlerThread的最佳实践
4、并发并使用并发缓存
5、适合多CPU的Android编程最佳模式

第2堂课:高性能和非凡用户体验Android应用程序的灵魂(具备编写高性能和用户体验较好Android应用程序核心的能力)
1、为何消息驱动是高性能和非凡用户体验Android应用程序的灵魂?
2、以Android的ActivityThread、Looper、Handler、MessageQueue为例说明消息驱动机制
3、源码深度剖析ActivityThread、Looper、Handler、MessageQueue
4、消息驱动机制的启示

第3堂课:站在AsyncTask的肩上构建自己的应用程序框架(构建自己的Android高效程序的框架)
1、使用AsyncTask
2、从源码剖析中说明为什么AsyncTask是Android的败笔
3、如何改进AsyncTask
4、构造自己的高效程序框架

第4堂课:电池:高效程序和非凡用户体验的关键之一(具备高效省电的应用程序的能力)
1、电池:高效程序和非凡用户体验必须解决的瓶颈
2、网络处理:后台数据和数据传输
3、电量杀手:位置导航及其最佳实践
4、广播接收器
5、WakeLock的最佳实践
6、Notification

第5堂课:应用程序性能评测、分析以及改进最佳实践(具备测试、分析和改进应用程序性能的能力)
1、时间:System.nanoTime() 和Debug.threadCpuTimeNanos() 
2 、代码调用堆栈分析:Debug.startMethodTracing()、Traceview
3 、Log的妙用
4 、内存和CPU改进的最佳实践

第6堂课:NDK、内存、SQLite的使用最佳实践(具备恰到好处的使用NDK、内存、SQLite的能力)
1、使用NDK的最佳模式
2、使用NDK的案例解析
3、 OOM产生原因和根本解决办法
4、内存不多的时候怎么办?
5、内存最佳配置时间
5 、SQLite语句、事务、查询的最佳实践

第7堂课:编写响应式Android程序(具备编写响应式用户体验好的应用程序的能力)
1、编写响应式Android的常见方法
2、移植现有的应用实现响应式Android程序

第8堂课:Android用户UI设计模式和反模式(具备掌握Android程序UI最佳模式的能力)
1、Android设计指南中的设计模式
2、 UI设计模式最佳实践
3、避免使用启动界面
4 、避免使用引导界面
5、避免使用确认窗口
6、避免在界面上使用Back按钮
7、避免使用菜单按钮
8、避免隐藏状态栏
9、避免为快捷操作使用滑动覆盖层
10、避免使用非Android的设计

第9堂课:Android的导航、布局、数据设计模式(具备掌握Android的导航、布局、数据设计的能力)
1、侧边导航还是其它?
2、布局的最佳模式和案例解析
3、 应用软件的登录模式、拖动手柄模式等
4、其它细节

第10堂课:Android用户操作的最佳模式解析(具备掌握和驾驭Android用户操作模式的能力)
1、使用滑动手势及其忽略
2、使用下拉刷新设计模式
3、使用抽屉设计模式
4、其它操作模式解析