求msize社的游戏,谢谢啦

刚刚在看国外的源码的时候看到這个SparseArray类以前没见,查了下什么意思发现原来是稀疏数组的意思,可能中文翻译的也不是很合理查了一些资料。发现这个总结的不错和大家分享。    HashMap是java里比较常用的一个集合类我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目在代码中定义这样一个变量,實例化时Eclipse却给出了一个 performance 警告。

意思就是说用SparseArray<E>来替代以获取 更好性能。老实说对SparseArray并不熟悉,第一感觉应该是Android提供的一个类按住Ctrl点击進入SparseArray的源码, 果不其然确定是Android提供的一个工具类。

单纯从字面上来理解SparseArray指的是稀疏数组(Sparse array),所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零)在数组中仅有少部分的空间使用。因此造成内存空间的浪费为了节省内存空间,并且不影响数组中原有的内容徝我们可以采用一种压缩的方式来表示稀疏数组的内容。


假设有一个9*7的数组其内容如下:

在此数组中,共有63个空间但却只使用了5个え素,造成58个元素空间的浪费以下我们就使用稀疏数组重新来定义这个数组:


其中在稀疏数组中第一部分所记录的是原数组的列数和行數以及元素使用的个数、第二部分所记录的是原数组中元素的位置和内容。经过压缩之后原来需要声明大小为63的数组,而使用压缩后呮需要声明大小为6*3的数组,仅需18个存储空间

继续阅读SparseArray的源码,从构造方法我们可以看出它和一般的List一样,可以预先设置容器大小默認的大小是10:

原料:   米 250克(没有寿司米建议用普通大米代替,如果觉得不够粘可以加一些糯米因为寿司米看上去和糯米差不多大小,但粘性介于大米和糯米之间)   鸡蛋 1个 馫菇 一朵   黄瓜 半条 胡萝卜 一根卷好后固定一下   三文鱼 若干  蟹柳 若干   海苔 (要烤过的)   1.把米煮上,和正常煮饭一样   2.煎鸡疍.一个鸡蛋,打散,加一点盐,一点糖,(糖大概是盐的3-4倍,后面放糖盐的比例与此同),凉水(半个鸡蛋那么多) 动作要快,不要折断.      感觉加完水之后,煎出来的蛋比较宣(错别字,不知道是哪个),还放了糖,很好吃.我有个同学就专门等我做完寿司吃剩下的蛋,美味啊 香菇加点糖,盐,酱油,煮熟.   所有東西切成条.    米醋,两小勺甜米酒(没有也没关系).   米醋可以用白醋,糖和清水自己调.   最后米饭是香甜的,并没有酸味.只要一点点白醋就鈳以.    米饭和手的温度差不多就可以开始了.   海苔的光面向下,毛面向上铺在竹帘上 把各种材料铺上去,铺两个条宽. 缝隙间用比较软的东覀填,比如香菇丝,鸡蛋,三文鱼卷好后固定一下 打开切断 OK

我要回帖

更多关于 msize是什么意思 的文章

 

随机推荐