美文网首页
git/svn/gradle配置签名文件/Android性能优化

git/svn/gradle配置签名文件/Android性能优化

作者: _爱笑的eyes | 来源:发表于2019-06-03 20:56 被阅读0次

    一.git、svn

    1)冲突怎么解决?

        答:在开发的时候,冲突一般分为两种,上传冲突 与 合并冲突,

    合并冲突的解决:

        1.选中项目->右键->Git->Resolve Conflicts

        2.会出现一个弹窗,显示了冲突的文件,选择某个文件后,点击Merge

        3.然后,会出现三个代码框

        a、左边的Local Changes代表”当前“分支上的修改;

        b、右边的Changes from Server代表“合并进来”的分支上的修改;

        c、中间的Result代表经过处理后的最终内容;

    4.左上角有一排按钮,分别介绍一下作用

        上下箭头:跳转到上/下一个不同;

        这三个从左往右依次代表:比较左边和中间的内容,比较中间和右边的内容,比较左边和右边内容;

      这三个从左往右依次代表:接受两边没有冲突的改变,接受左边没有冲突的改变,接受右边没有冲突的改变

        现在回头看内容区域,会看到四种颜色

            红色区域:代表当前分支和合并分支都编辑过的内容,属于冲突;

            蓝色区域:代表被单方面编辑过的内容,属于改变;

            灰色区域:代表被删除的内容,属于改变;

            绿色区域:代表新增的内容,属于改变;

        真正需要解决的冲突只有红色区域,其他高亮区域只是为了让我们再次确认改变的内容是否合理,如果对自己的代码有信心,那就不用管那些区域了,就按照c步骤的方法提交 你可以按照自己的需求接受改变的代码,通常可以直接接受两边没有冲突的改变:

            如果不记得自己的修改是什么,就可以关闭该工具,通过查找历史提交,比对历史代码来确认正确的代码;有的时候由于代码格式化的原因,你并没有改变代码的内容,但是格式化增加了一些空格,那么也会产生冲突,

    2)分支怎么创建?

        1.首先进入本地git仓库目录下,打开git bash环境

        2.使用git branch命令可以查看到当前目录下的分支

        3.使用git branch 分支名称创建分支,创建完成后通过git branch可以看到本地已经多出了一个新建的分支

        4.使用git push origin 分支名  命令将本地的修改推送到远程服务器上

        5.push完成后你可以在远程服务上看到了新建的分支

    3)你用分支干什么了?

        主要用于开发的时候,我们要在项目中添加一个功能,但是一般都不会在主项目上修改,所以,这个时候就要拉一个分支出来,在分支上面添加代码,保证主线程代码的完整可用性;还有就是 在分支上进行代码的开发测试,不影响团队的项目;还有就是,可用合并不同的软件仓库

    4)合并分支

    答:先切换到一个分支 然后git merge 另一个分支名

    2.gradle配置签名文件

        答:在Android Studio中是使用Gradle进行项目打包的,所有我们就从这里入手,

    配置其打包的方式,让其在debug的时候也运行release签名。

    1.首先在module级别的build.gradle下,找到android节点。加入配置签名的代码

    2.配置完你的证书信息之后,找到buildTypes节点,指定对于的打包签名方式

    3.接下来打开Android Studio右侧Gradle菜单,找到assembleRelease,点击运行正式签名打包,

    如果没有问题就可以run起来了。测试一下,发现在android studio直接运行也能调起微信支付等需要正式签名的功能了

    3.性能优化:内存优化、布局、电量、流量、启动

    一、布局优化:

    Android 系统每隔 16ms 发出 VSYNC 信号触发对UI进行渲染,那么就要求每一帧都要在 16ms 内绘制完成(包括发送给 GPU 和 CPU 绘制到缓冲区的命令,这样就能够达到流畅的画面所需要的60fps 所以我们要在16s内做完所有的操作,而造成丢帧的原因有:

    1.layout 太过复杂,层次过多

    2.UI 上有层叠太多的绘制单元,过度绘制

    3.CPU 或者 GPU 负载过重

    4.动画执行的次数过多

    5.频繁 GC,主要是内存抖动

    6.UI 线程执行耗时操作

    解决方法:1.layout 太过复杂,层次过多

    (1).避免复杂的 View 层级

    (2).避免 layout 顶层使用 RelativeLayout

    (3).布局层次相同的情况下,使用 LinearLayout

    (4).复杂布局建议采用 RelativeLayout 而不是多层次的 LinearLayout

    (5).<include/> 标签复用

    (6).<merge/> 标签减少嵌套

    (7).尽量避免 layout_weight

    (8).视图按需加载或者使用 ViewStub

    2.UI 上有层叠太多的绘制单元,过度绘制

    (1).去除重复或者不必要的 background

    (2).点击态中的 normal 尽量设置成 transparent

    (3).去除 window 中的 background(这个可以通过处理 decorView 或者设置 Theme 的方式)

    (4).若是自定义控件的话,通过 canvas.clipRect() 帮助系统识别那些可见的区域

    3.内存抖动

    (1).大对象可以使用对象池复用,比如 byte[]

    (2).尽量在 16ms 内少创建对象,比如在 onDraw 中创建 Paint 对象,decode Bitmap 之类的

    二、内存优化

    1、防止内存泄漏,还有些代码时要注意防止内存泄漏,还可以使用Leakcancary内存检测工具。

    2、合理使用如数组、链表、队列、栈、树、哈希表等数据结构。在这说一下,推荐两个安卓常用的SparseArray和ArrayMap,

      他们相比hashmap比较节省内存,在1000以下,性能上的差异可以忽略。

    3、用int或者字符串常量代替枚举,枚举太占内存,大概是int的2倍。

    内存优化之图片优化

    1、把图片素材放在合适的目录下

    2、bitmap优化,就是加载图片时可以调用BitmapFactory.Options来按照一定采样率来加载所需的图片大小。

    3、用Glide、picisoo等三方框架加载图片。

    三、电量优化

      耗电的原因:1、大数据的传输 2、解析大量的文本数据 3、不停的在网络间切换

      解决方案:1、先查看是否处于网络连接状态,如果没有连接成功,就不要执行响应的程序。

                2、使用高效的数据格式和解析方法,如json

        3、在进行大数据请求时,使用GZip压缩,它会大大减少文本文件的体积,从而使数据的传输效率变高

        在开发中,也要灵活的判断当前电量,如果电量低的话,就减少一些更新的操作,如果充电时或者电量充足时就加快App更新速度

    相关文章

      网友评论

          本文标题:git/svn/gradle配置签名文件/Android性能优化

          本文链接:https://www.haomeiwen.com/subject/msncxctx.html