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

一.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更新速度


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容