Return to Video

02-06 Visualize_and_Fix_Overdraw_-_Quiz

  • 0:00 - 0:02
    大家好
  • 0:02 - 0:03
    谢谢Colt
  • 0:03 - 0:05
    很激动能加入大家
  • 0:05 - 0:08
    与大家分享一个解决过度绘制问题的开发案例
  • 0:08 - 0:09
    如果你想跟着我一起做
  • 0:09 - 0:13
    可以在教程提供的网址上克隆示例代码
  • 0:13 - 0:16
    好 现在我们看到了示例代码的应用程序
  • 0:16 - 0:20
    现在就想象你自己开发了一款聊天应用
  • 0:20 - 0:23
    你想了解应用程序在过度绘制性能上的表现如何
  • 0:24 - 0:27
    首先要做的就是搜集信息
  • 0:27 - 0:28
    关于应用程序运行性能的信息
  • 0:28 - 0:31
    在这一步你需要这样做
  • 0:31 - 0:32
    打开手机上的GPU过度绘制调试
  • 0:32 - 0:36
    在系统的开发者选项部分可以找到这个设置
  • 0:36 - 0:37
    选中它
  • 0:41 - 0:43
    好 现在打开了
  • 0:43 - 0:44
    回到我们的聊天应用
  • 0:44 - 0:49
    看看这些过度绘制的地方
  • 0:49 - 0:52
    你需要减少这些过度绘制 尤其是红色区域
  • 0:52 - 0:55
    这里说明一下各个颜色代表的意思
  • 0:58 - 1:00
    很酷吧 准备好了吗?
  • 1:01 - 1:03
    现在深入了解一下UI是如何创建的
  • 1:03 - 1:05
    看看能否做一些清理减少过度绘制
  • 1:06 - 1:08
    就像Colt提过的
  • 1:08 - 1:12
    办法一就是清除不必要的背景和图片
  • 1:12 - 1:13
    我们试试看
  • 1:14 - 1:17
    看看能否将Chatum变成这种效果
  • 1:20 - 1:23
    我们还是按部就班地来啃这个问题吧
  • 1:23 - 1:26
    例如我们想把Chatum背景中的这块区域
  • 1:26 - 1:29
    变成绿色或者2倍过度绘制区域
  • 1:29 - 1:30
    为什么能实现这个效果呢?
  • 1:30 - 1:33
    这是由于Chatum的BaseActivity采用了
  • 1:33 - 1:37
    不透明白色背景的布局填充整个屏幕
  • 1:37 - 1:40
    我们喜欢这样
    但是却与Android的材料主题默认设置相冲突
  • 1:40 - 1:43
    特别是窗口背景图片
  • 1:43 - 1:45
    这些都导致了不必要的过度绘制
  • 1:45 - 1:49
    作为一个开发者
    我们必须做一个决定
  • 1:49 - 1:51
    我们希望保留白色背景
  • 1:51 - 1:54
    材料主题其实没有任何意义
  • 1:55 - 1:58
    我们能做的一个优化就是
    把Activity的背景图片
  • 1:58 - 2:00
    设置为null
  • 2:00 - 2:02
    我向你们展示一下在代码中如何实现
  • 2:02 - 2:07
    打开Chatum的BaseActivity
    我们看一下onCreate方法
  • 2:07 - 2:09
    使用下列声明取消原来的背景
  • 2:11 - 2:12
    就是这样
  • 2:12 - 2:15
    通过取消背景我们将过度绘制区域的颜色
  • 2:15 - 2:19
    由绿色变成了蓝色 变成了1倍过度绘制
  • 2:19 - 2:20
  • 2:21 - 2:23
    这是在编程方面的改变
  • 2:23 - 2:27
    我们看一下XML标记文件
    看看能否再做一些调整
  • 2:27 - 2:31
    你可能已经注意到有三个XML文件
  • 2:31 - 2:32
    指定了Chatum的用户界面
  • 2:33 - 2:37
    有Chatum Latinum的BaseActivity
  • 2:37 - 2:42
    XML聊天片段还有聊天记录的单个XML
  • 2:45 - 2:47
    前面已经提过
  • 2:47 - 2:49
    我们想在这里保留白色背景
  • 2:50 - 2:52
    在这里我们什么都不做
  • 2:52 - 2:56
    但是其他两个XML文件能否做一些调整
  • 2:56 - 2:57
    现在我需要你的帮助
  • 2:59 - 3:01
    请你帮我梳理一下其他XML文件
  • 3:01 - 3:05
    看看能否清除一些不必要的背景
  • 3:05 - 3:06
    完成之后
  • 3:06 - 3:08
    把清除的背景数目填到这个方框里
  • 3:10 - 3:12
    如果碰到什么麻烦也用不着担心
  • 3:12 - 3:13
    看看答案吧
Title:
02-06 Visualize_and_Fix_Overdraw_-_Quiz
Description:

02-06 Visualize_and_Fix_Overdraw_-_Quiz

more » « less
Video Language:
English
Team:
Udacity
Project:
ud825 - Android Performance
Duration:
03:14

Chinese, Simplified subtitles

Revisions Compare revisions