1: Activity . fragment(事务) 包括跳转.旋转屏幕的生命周期:
先展示一张大家众所周知activity流程图
1:onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态。
2:onStart():Activity在屏幕上对用户可见时调用,但还不可与用户交互
3:onRestart():在activity停止后,在再次启动之前被调用。
4:onResume():Activity开始和用户交互的时候调用,这时该Activity是在Activity栈的顶部,并接受用户输入。
5:onPause():Activity被暂停时调用,也就是你要对你能看到的这个Activity说byebye的时候调用,这里可以做一些清理和保存工作
6: onStop():Activity被停止或者Activity变成不可见时调用
7:onDestroy():Activity被从内存中移除,一般发生在执行finish方法时或者Android回收内存的时候
跳转页面时生命周期:
A跳B,则点击跳转后,
A:onPause->onSaveInstanceState->onStop
再返回回来的话:
A:onRestart->onStart->onResume->onPostResume
旋转时:
再切换回竖屏时:
fragment生命周期
2 : SVN.Git的使用以及常见问题:
git常用快捷键:
常见问题:
svn 常用命令
# 创建分支 svn copy http://example.com/repos/myproject/trunk http://example.com/repos/myproject/branches/branch1 -m 'create brancht
' # 切换分支 svn sw http://example.com/repos/myproject/trunk
# 合并分支 svn sw http://example.com/repos/myproject/trunk svn merge http://example.com/repos/myproject/branches/branch1
# 删除 svn delete/rm/del
# 恢复 svn revert # svn ignore svn propset svn:ignore -F .svnignore .
# 解决冲突 svn resolve –accept working a.txt svn ci -m ’some comment’ a.txt
3:布局优化(标签,嵌套)
综上,布局的优化其实说白了就是减少层级,越简单越好,减少overdraw,就能更好的突出性能。 下面介绍几种布局优化的方式:
1:能用相对布局尽量用相对布局,少用线性布局,一般情况下用LinearLayout的时候总会比RelativeLayout多一个View的层级。而每次往应用里面增加一个View,或者增加一个布局管理器的时候,都会增加运行时对系统的消耗,因此这样就会导致界面初始化、布局、绘制的过程变慢。而通过扁平的RelativeLayout可以降低LinearLayout嵌套所产生布局树的层级
2:另外一种手段就是使用抽象布局标签include、merge、ViewStub
(1) include标签常用于将布局中的公共部分提取出来
(2)merge标签是作为include标签的一种辅助扩展来使用,它的主要作用是为了防止在引用布局文件时产生多余的布局嵌套。
(3) viewstub是view的子类。他是一个轻量级View, 隐藏的,没有尺寸的View。他可以用来在程序运行时简单的填充布局文件。
3:Android最新的布局方式ConstaintLayout
4、利用Android Lint工具寻求可能优化布局的层次
4:不同Android系统版本适配:
参照上一篇:Android版本适配
5:机型适配:
企业开发一款APP前会考虑支持多平台的问题,APP根据在不同的平台有不同的开发语言,但在开发过程中需要考虑到不同手机机型兼容的问题,特别是Android 系统下手机类型繁多,如何在不同的平台不同机型上避免APP的功能和使用问题尽可能减少。一般来说Android的适配或者兼容性,基本都是系统,分辨率,厂商和机型适配的问题。
1.操作系统适配,即适配Android 2.X,4.X,5.X……每个版本的操作系统,都有其特定的变化,对于App开发者而言,最重要的一点就是要明确每一个版本API Changed List。
2.厂家型号,即适配三星、小米、Note5、米2……这块有两种适配方式,一是公版适配,二是定制开发。我们先从公版适配说起,这也是大多数App在用的方式。 公版适配这里指的是只存在一套代码,一个APK,要适配所有的厂商或机型。比较差的方式通常就是在代码中涉及到不同厂商或型号的地方通过if语句利用Build里的厂商标识等进行不同的策略,其结果就是适配得越多,if语句越复杂,越难维护。其实只要利用一个工厂模式就可以做得更灵活一些,
3.硬件兼容。主要是对包括屏幕分、CPU、内存、外存、传感器等进行适配,其主要思路也是抽象隔离。 在数据层,最主要的是进行外部存储的适配,即考虑数据存储的位置、格式、易失性等。通常这种持久化的数据存储,都要考虑存储位置及其易失性问题,不要把关键数据保存在易失的外部存储当中,还有Android 5.X开始的外卡的不可访问性,进而,可以根据存储空间和数据特点考虑明文格式还是密文格式,压缩还是不压缩。
网友评论