1、app性能优化-启动页优化:冷启动中application初始化会耗时,默认启动空白窗口,之后进入入口activity
。设置闪屏图片主题,常说的启动页
代码优化:在logcat可以用display过滤查看应用的启动时间。在application做优化,对某些组件进行轻重缓急
的处理,有些组件需要在主线程初始化这就放在oncreate,其他不影响项目的可在子线程进行延迟初始化,这时候
在logcat过滤display可以看到启动第一个页面的时间为230ms(+total 2300ms)
2、自定义组件:圆形imageview、图文编辑框(涉及到的方法onMeasure,onLayout,onDraw)
3、handle机制,相关类关系
4、view分发机制
5、八大数据结构,存取优缺点
6、rsa加密加密key不能超过128byte
7、项目选用的框架,为什么
8、项目中遇到的难点,怎么解决
8.1:首页布局属于SmartRefreshLayout+ScrollView+RecycleView,且在中间有一个独立滑动的recycleview,必然会出现滑动冲突。这时候就需要使用到Android的分发事件,重写并监听SmartRefreshLayout+ScrollView的拦截方法onInterceptTouchEvent,了解返回true为拦截事件,子view不做点击事件的处理;返回false将事件交给子view处理。因为是子view是需要纵向滑动的处理事件,所以首先在SmartRefreshLayout+ScrollView监听MotionEvent.ACTION_MOVE
是否横向滑动大于纵向滑动,则拦截子view的事件。目前只是实现了recycleview和scrollview的滑动冲突。要实现固定recycleview的滑动,还需要在SmartRefreshLayout+ScrollView实现recycleview的滑动监听(是否处于顶部或者底部)并配合拦截事件,这样就能完美的实现首页多个滑动组件之间的交互
8.2:自定义图文,链接一体的编辑框。因为是编辑框,所以我们自定义继承于AppCompatEditText的view。
Android日常记录
最新推荐文章于 2024-09-27 18:45:08 发布