我的本地方法有一個帶有byte []返回值的方法,所以我使用「NewByteArray」來分配byte [],然後使用return返回jbyteArray。 我應該釋放jbyteArray嗎?以及如何釋放jbyteArray? 謝謝。我是一名Java初學者,我的英語很差。如何釋放jbyteArray?
回答
您不希望在本地方法中釋放字節數組,因爲本機方法的調用方想使用Java中的數組。
既然你不持有一個全球性的參照創建數組:
垃圾收集器然後可以照顧在正確的時間,以去除數組對象,因爲本地參考了本地方法對持有一旦方法返回,數組將被刪除。
下面是如何這樣一個本地方法可以看起來像一個例子:How to return an array from JNI to Java?
你的意思是GC可以釋放jbyteArray自動?所以我不需要做任何事情?謝謝。 – cpdyj
@cpdyj正如Michael所指出的那樣:「除非您使用NewGlobalRef創建了對數組的全局引用」 – Calculator
非常感謝。 – cpdyj
- 1. 如何釋放
- 2. jni SAMPLETYPE到jbyteArray
- 3. 如何將unsigned char轉換爲jbyteArray
- 4. 如何把jbyteArray轉換爲Mat?
- 5. 如何將jbyteArray轉換爲結構?
- 6. 如何釋放vtkSmartPointer
- 7. 如何釋放它?
- 8. 如何釋放WKInterfaceController
- 9. 如何釋放UINavigationController?
- 10. 如何釋放塊
- 11. 如何釋放json_object?
- 12. 如何釋放MTAudioProcessingTap?
- 13. 如何釋放接口?
- 14. 如何釋放資源?
- 15. 如何釋放psql端口?
- 16. 如何釋放整個UINavigationController
- 17. 如何釋放此分配?
- 18. 如何釋放Canvas內存?
- 19. Opencv;如何釋放IplImage *?
- 20. 如何釋放的NSString
- 21. 如何釋放JSONConnection對象
- 22. 如何正確釋放UIPopoverController?
- 23. 如何釋放喚醒鎖?
- 24. 如何釋放NSXmlParser對象?
- 25. 如何釋放內存頁
- 26. PtrToStringChars,如何釋放內存?
- 27. 如何釋放mongodb連接?
- 28. 如何自動釋放CGLayer?
- 29. 如何釋放鏈表?
- 30. JNI如何釋放它
所以你的本地函數返回回Java?如果是這樣:不,在你的本地代碼中沒有什麼需要做的事情(除非你使用'NewGlobalRef'創建了一個對數組的全局引用)。 – Michael