×
Namespaces

Variants
Actions

关于粒度(granularity)

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
huwell 在 27 Jun 2007 创建
最后由 hamishwillee 在 15 Dec 2011 编辑

在symbian中的数组和Store中你会发现粒度(granularity)这个参数,如 CArrayFixFlat(TInt aGranularity);或 static CBufStore* NewL(TInt anExpandSize);这里的anExpandSize就是粒度


如果我们将粒度定为10,那就意味着我们的数组总是会有10的倍数个单元被分配,即使你只有一个元素,那内存还是会为你分配10个单元。因为如果你需要增加一个元素,那此时就不需要再分配内存了,如果你已经有了10个元素,这时要再增加一个,那数组会再扩展为20个单元,以此类推。


数组中的粒度在symbian的低层内存环境中是非常重要的,拥有太大的粒度将会浪费未使用的内存(这在symbian中可不是件好事情哦),而粒度太小则会引起频繁的内存处理,不恰当的内存再分配,这也不是什么好事情。


因此在选择粒度大小时,请一定要三思~!

This page was last modified on 15 December 2011, at 13:40.
53 page views in the last 30 days.