Tagged: Android 3.0 Toggle Comment Threads | 键盘快捷键

  • Roger 3:01 pm on May 15, 2011 固定链接 | 回复
    Tags: , , , Android 3.0   

    Google I/O 2011, Android Accelerated Rendering 

    Google I/O上关于的Android 3.0 Honeycomb 硬件加速绘图的介绍:

    PPT:http://www.slideshare.net/romainguy/google-io-2011-android-accelerated-rendering

    YouTube:http://www.youtube.com/watch?v=v9S5EO7CLjo

    主要内容介绍(因为没有字幕,部分听不清楚的地方只能靠自己的猜测,可能有错误的地方):

    1. 在Honeycomb之前,使用到GPU的地方包括OpenGL(直接使用NDK或者Java的Wrapper),Live Wallpaper(内部使用Render Script,其实也是间接使用OpenGL,但是相关API直到Honeycomb才开放),Window Compositing(窗口混合,也就说把多个窗口的Surface进行Alpha混合输出到屏幕的Surface上面);但是最常见的UI组件的绘制,使用的2D绘图引擎Skia是没有使用GPU加速的。
    2. 在Honeycomb上面,UI组件的绘制,也就是Canvas API,使用了OpenGLRenderer作为Backend,从而利用GPU进行加速。(在这里不太清楚是Skia内部支持OpenGL作为Backend,还是使用新的2D绘图引擎取代Skia,个人猜测应该是前者)
    3. 因为OpenGL实际上只支持多边形绘制和贴图,所以利用OpenGL做2D绘图,实际上是在内部生成一个多边形构成的平面,然后把背景图,前景图,线段,文字生成的位图贴在上面。
    4. 要使App支持硬件加速,需要在Mainifest中进行设置,可以分别对App,Activity,Window,View这几个级别单独进行设置,不过不支持在关闭整个Window硬件加速的情况下开启其中的View的硬件加速,只支持相反的情况,可以在开启整个Window硬件加速的情况下关闭其中部分View的硬件加速。View和Canvas支持运行时查询是否支持硬件加速。
    5. 不是所有的Canvas API都支持硬件加速,部分比较不常用的API是没有硬件加速支持的。
    6. 新的UI组件渲染模型引入了DisplayList来减少一个View被invalidate时所需要的重绘操作。
    7. 使用Layer(内部位图缓存)可以加速部分绘图操作,当这些绘图不是因为本身的内容更新引起的,而是因为View被移动,旋转,透明度改变或者加入特效等引起的(也就说View本身的DisplayList没有被改变,而是View的Parent的DisplayList被改变)。
    8. 如果是Hardware Layer,它实际是分配在显存的Texture,GPU重绘一个Texture的速度非常的快,但是Layer的使用可能造成内存的过度使用和在View本身更新的情况下反而绘制较慢(等于先绘制到缓存然后再拷贝缓存),演示了一个例子当对一个View进行动画时才开启Layer,动画结束后关闭。
    9. Tips and Tricks:
      • 减少View的层次,尽量使组件树扁平化
      • setAlpha操作的成本很高
      • 尽量重用Paint,Bitmap对象
      • 不要频繁改变Bitmap对象
      • 不要频繁改变Path对象
      • 避免不必要的绘制
      • 使用DDMS和Traceview做Profiling
     
  • Roger 3:56 am on May 8, 2011 固定链接 | 回复
    Tags: Android 3.0, 香港, iPad2, 平板   

    周末香港行 —— 奶粉,iPad2,XOOM 和 Android3.0 平板 

    110507A000

    iPad2的广告牌很显眼,但是所有苹果专卖都没货

     

    这个周末又去香港给女儿拉奶粉(一共拉了20罐,可以坚持大半年了^_^),顺便去逛了一下数码街,也看看能不能帮同事带一台iPad2。可是全部的苹果专卖统统没货,估计第一批货大半都被那些分销商瓜分干净了,在百老汇那边的商铺,一台iPad2被强制搭配超坑爹的皮套和贴膜各一枚,差不多要多出600~700港币的样子(皮套和贴膜看起来都很山寨,估计淘宝价200都有找…)。最后还是劝同事再等一段时间,等货源充足了就不会被坑这几百块钱。

     

    Android3.0的平板也纷纷上市,XOOM的32G 3G版本售价5380港币,Acer和Asus的16G Wifi版则都是3988,Asus的变形平板还可以接一个键盘底座,全套加起来一共4788港币,价格还算厚道。说起来目前出Android3平板的这几家都没有自己去客制化系统,一水儿的原生界面,不知道是懒得去搞了,还是为了抢时间上市来不及搞。

     

    有不少人觉得Android3.0平板取消了硬按键,有抄袭iPad的嫌疑,但实际上两者在发展方向上有很大的不同。iPad得益于大屏幕和分辨率带来的更好的视觉和阅读体验,但整个使用和操作上还是很像是大号的iPhone。而Android的平板系统更趋向于桌面操作系统化,底部的状态栏除了可以看到系统状态外,还可以切换程序和桌面,多个任务的预览和切换,后台通知的显示和呼叫,这跟桌面系统的任务栏非常相似。并且这种感觉在使用Asus的变形平板时更明显,接上键盘底座后,整个跟一上网本几乎没区别。由此可见,带有更大屏幕,更快CPU的Android平板会很快涌现,而适配键盘底座的机型也会成为主流。得益于台湾PC厂商进入平板市场,想必我们很快就会买到更便宜,功能更强的平板,而上网本这个市场会被进一步挤压以至于完全消失。

     

    如果Android的平板系统发展一如之前Android在手机的发展那样迅猛,这恐怕让Google的另一个OS ChromeOS有些情何以堪,毕竟两者重合的区域越来越大,未来两个系统会不会融合,还真的很难讲。

     

    最后不得不感慨一下人民币在大陆随着通胀而不断贬值,而在香港则因为汇率越来越低而升值(去年底还是0.86左右,这次去就差不多0.84了),去香港购物已经变成几乎买什么都比大陆便宜的地步,自己最喜欢的乐天熊仔饼200克大盒装在万宁特价21港币,而这边估计20多人民币都不止….

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
回复
e
编辑
o
Show/Hide comments
t
返回顶部
l
Go to login
h
Show/Hide help
shift + esc
取消