BADA操作系统中的内存管理

时间:2012-02-20 10:46:23

标签: memory memory-management operating-system smartphone bada

我发现很难详细了解如何在BADA OS中完成内存管理

有没有人有任何关于它的信息或所有智能手机都有类似的内存管理概念?

2 个答案:

答案 0 :(得分:1)

在bada上编程你主要要处理堆内存。在某些类型的bada-API中,您必须使用自动内存管理(Osp::Base::Collection可以根据需要释放其元素的内存;在Osp::Ui::Container方法RemoveControl()将释放他孩子的内存)。

但在一般情况下,你需要自己处理内存释放。

答案 1 :(得分:1)

BADA中的内存管理遵循传统的C ++内存处理策略

应用程序总是负责删除它分配的内存(每次调用new都必须具有 对称调用删除)

运行时BADA中的内存分为:

静态内存 :由编译器分配,并且是运行时应用程序二进制文件的一部分。

堆栈内存:操作系统在运行时分配和释放,因为正在运行的程序的功能激活帧已创建和释放

堆内存:根据程序的要求动态分配和释放。

对象所有权责任

与内存分配和对象相关的另一个小但重要的复杂性 构造是有时框架方法需要框架来分配和 将新对象返回给调用应用程序。

但是,一旦框架返回了对象,并将对象传递给了 对于调用者的所有权,框架不再知道对象何时完成。

在这种情况下,应始终完成分配和释放内存的简单规则 对称地不再成立。

然后,应用程序员的问题是知道应用程序或者应用程序 框架,应负责清理给定的对象。

这个问题在BADA中通过一个简单的命名约定几乎可以解决 相关规则

公约

在方法名称中尾随'N',例如:Sometype()to SomethingN()

规则

调用者总是负责删除框架方法返回的对象 以尾随'N

命名