找回密碼
 注冊帳號

掃一掃,訪問微社區

androidjni.pushlocalframe 壓入局部幀

2014-12-30 21:38| 發布者: 楊炎| 查看: 2024| 評論: 0|原作者: 蠻牛|來自: unity3d腳本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)

文章點評
女校游泳队彩金