官术网_书友最值得收藏!

Why do we need memory management in Objective-C?

It does not matter what programming language is being used; the question of memory management always persists. In general, it is a question of resource management that cannot be avoided because memory is always a limited resource.

The scripting languages and Java, where memory management is handled by the virtual machine or application (where it is hidden from the code), are not always effective enough. While it is easier for the programmer this way, it can have a negative impact on resources, since you don't have an absolute control of it and there are objects still "living" when we don't need them anymore, plus these "living" objects still occupy precious memory space, which can be used by other objects. Additionally, depending on what you ask, another opinion is that an automatic memory management is the only right way to go.

Such talks usually start discussions like "Which is the best programming language?" and" What is the best way of memory management?". Let's leave that meaningless business for blogs' and forums' "Holy-Wars". Every tool has it's use in the correct context and Objective-C memory management concept is quite efficient in terms of both time cost savings and resource saving.

The memory in Objective-C, is managed in a different way from some of the widespread languages such as C/C++, Java, or C#, which are typically taught in schools as it introduces new concepts such as object ownership. Memory management is crucial for devices that run on a limited amount of memory such as mobile phones, smart watches, and so on, since effective memory management will allow you to squeeze every ounce of performance needed to run efficiently on these small devices, where memory is scarce on these devices.

主站蜘蛛池模板: 平原县| 临朐县| 武平县| 仙居县| 武定县| 海安县| 井研县| 无极县| 吉首市| 大理市| 巴塘县| 巴塘县| 万山特区| 敦化市| 蕉岭县| 隆子县| 威信县| 古浪县| 洱源县| 涡阳县| 庆云县| 光泽县| 芜湖县| 辽阳市| 红桥区| 永善县| 射阳县| 芷江| 东莞市| 烟台市| 淮安市| 施甸县| 夏津县| 墨玉县| 福贡县| 石门县| 玉环县| 耒阳市| 崇明县| 瑞丽市| 元氏县|