-
ServiceCompat只提供了一个START_STICKY,应该用于Service onStartCommond的常量
-
NavUtils是用于方便Activity Task之间UP down
-
ArrayMap是android的省内存的Map
-
AtomicInteger等 是线程安全的运算,就不用手写synchronized了
-
android sdk/tools/templates下有android studio的模版
-
android sdk/tools/proguard是混淆程序
-
android sdk\extras\android\support下是sdk下载的support包
samples里面有v7等的例子程序,特别是mediaRouter和player值得一看
- android studio通过gradle构建的包在项目路径下面exploded-aar下面
app\build\intermediates\exploded-aar\com.android.support
- android studio通过gradle引入的路径可以在as中查看
通常在sdk\extras下
- RecyclerView具有app:layoutManager等属性需要引入
xmlns:app="http://schemas.android.com/apk/res-auto",
-
layout中可以有view标签不同于View,指定class=""
-
RecyclerView中setItemAnimator DefaultItemAnimator是ItemAnimator的实现类
用于remove或add或replace的动画
- Recycler.Adapter中的getItemViewType用于显示多种不同的View
设计ViewHolder时只需冗余变量就行
-
as中使用ndk需要在local.properties中配置ndk.dir=path
-
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。
文章链接
- 使用IntentService替代线程,其内部使用HandlerThread
- android性能优化经验
- 1000以内的数据使用ArrayMap替代HashMap
- 考虑int ->Integer等自动boxing的效率,使用android提供的SparseBoolMap<boolean,Object>,SparseIntMap,SparseLongMap,LongSparseMap替代HashMap<Object,Object>
- 使用enum会产生更大的dex,并占用更多的内存,强烈建议不使用enum类型
- 使用回退机制延迟 请求,如定位请求,得到相同的定位这轮询时间加倍,或者网络轮询得到相同的数据轮询时间加倍,最好的办法避免轮询和减小数据传输量
- 在网络硬件模块被激活之后,会继续保持几十秒的电量消耗,捆绑网络请求,队列请求等,或当手机充电、连接wifi时发送请求
Android性能优化典范
网友评论