您的位置:首页 > 其它

对于canvas, drawable, bitmap的理解

2012-04-13 16:58 309 查看
这三个概念很容易把人绕晕,找了不少网上资料,都是抄来抄去,而且完全没说到点子上。看了下官方文档及源码,感觉可以这样理解这三个东东。

其实中心思想就一个,bitmap是最终存储数据的地方,其它类是辅助计算数据的。

也就是说,

1. bitmap用于存储最终的数据(用于显示,比如对应每个点的RGB值)

2. canvas是一个填写bitmap的工具。有点像bitmap是一张白纸,而canvas就是一张复印纸。

3. drawable是自身有bitmap,且提供了若干填写这个bitmap的功能的类。我们看drawable,它是一个abstract类,里面的draw函数也是abstract。这就意味着,你必需要自己继承自drawable,提供存储数据用的bitmap,并且实现draw函数(很多draw其实还是调用canvas实现的)。所以drawable有点类似于商店把白纸和复印纸做成套装出售。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  存储 文档 工具