androidjni.pushlocalframe 压入局部帧

2014-12-30 21:38| 发布者: 杨炎| 查看: 1648| 评论: 0|原作者: 蛮牛|来自: yzc88亚洲城脚本manual

摘要: androidjni.pushlocalframe 压入局部帧static functionpushlocalframe(capacity: int) : intdescription描述creates a new local reference frame, in which at least a given number of local references can be cr ...

androidjni.pushlocalframe 压入局部帧

static functionpushlocalframe(capacity: int) : int

description描述

creates a new local reference frame, in which at least a given number of local references can be created.

创建一个新的局部引入帧,至少一个给定的局部引用可以被创建的数。

pushlocalframe为一定数量的局部引用创建了一个使用堆栈,而poplocalframe负责销毁堆栈顶端的引用。

push/poplocalframe函数对提供

了对局部引用的生命周期更方便的管理

在管理局部引用的生命周期中,push/poplocalframe是非常方便的。你可以在本地函数的入口处调用pushlocalframe,然后在出口处调用poplocalframe,这样的话,在函数对中间任何位置创建的局部引用都会被释放。而且,这两个函数是非常高效的。

如果你在函数的入口处调用了pushlocalframe,记住在所有的出口(有return出现的地方)调用poplocalframe。

大量的局部引用创建会浪费不必要的内存。一个局部引用会导致它本身和它所指向的对象都得不到回收。尤其要注意那些长时间运行的方法、创建局部引用的循环和工具函数,充分得利用pus/poplocalframe来高效地管理局部引用。

参见:java native interface specification (oracle)

文章点评