8月总结下

  1. ServiceCompat只提供了一个START_STICKY,应该用于Service onStartCommond的常量

  2. NavUtils是用于方便Activity Task之间UP down

  3. ArrayMap是android的省内存的Map

  4. AtomicInteger等 是线程安全的运算,就不用手写synchronized了

  5. android sdk/tools/templates下有android studio的模版

  6. android sdk/tools/proguard是混淆程序

  7. android sdk\extras\android\support下是sdk下载的support包

samples里面有v7等的例子程序,特别是mediaRouter和player值得一看

  1. android studio通过gradle构建的包在项目路径下面exploded-aar下面

app\build\intermediates\exploded-aar\com.android.support

  1. android studio通过gradle引入的路径可以在as中查看

通常在sdk\extras下

  1. RecyclerView具有app:layoutManager等属性需要引入

xmlns:app="http://schemas.android.com/apk/res-auto",

  1. layout中可以有view标签不同于View,指定class=""

  2. RecyclerView中setItemAnimator DefaultItemAnimator是ItemAnimator的实现类

用于remove或add或replace的动画

  1. Recycler.Adapter中的getItemViewType用于显示多种不同的View

设计ViewHolder时只需冗余变量就行

  1. as中使用ndk需要在local.properties中配置ndk.dir=path

  2. android.support.design.widget.CoordinatorLayout是头部收缩管理员

例如浮动按钮FloatingActionButton弹出Snackbar使用CoordinatorLayout后,浮动按钮会自动调整位置

CoordinatorLayout中必须使用android.support.v7.widget.Toolbar而非ActionBar

根据官方的谷歌文档,AppBarLayout目前必须是第一个嵌套在CoordinatorLayout里面的子view。

制造折叠效果

如果想制造toolbar的折叠效果,我们必须把Toolbar放在CollapsingToolbarLayout中:

制造视差效果

为了制造出这种效果,我们添加一个定义了app:layout_collapseMode="parallax" 属性的ImageView。
文章链接

  1. 使用IntentService替代线程,其内部使用HandlerThread
  2. android性能优化经验
  • 1000以内的数据使用ArrayMap替代HashMap
  • 考虑int ->Integer等自动boxing的效率,使用android提供的SparseBoolMap<boolean,Object>,SparseIntMap,SparseLongMap,LongSparseMap替代HashMap<Object,Object>
  • 使用enum会产生更大的dex,并占用更多的内存,强烈建议不使用enum类型
  • 使用回退机制延迟 请求,如定位请求,得到相同的定位这轮询时间加倍,或者网络轮询得到相同的数据轮询时间加倍,最好的办法避免轮询和减小数据传输量
  • 在网络硬件模块被激活之后,会继续保持几十秒的电量消耗,捆绑网络请求,队列请求等,或当手机充电、连接wifi时发送请求
    Android性能优化典范
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容