JNI中jstring操作

http://blog.sina.com.cn/s/blog_80c9582b0100so65.html

使用JNI時,最常見的操作是jstring轉換成UTF字符串。JNI提供了幾個轉換函數:GetStringUTFChars,GetStringUTFRegion

GetStringUTFChars返回一個指向UTF字符串指針,該函數會分配內存空間存儲該字符串,因此使用完後一定要記得調用對應的釋放函數ReleaseStringUTFChars釋放分配的空間。

GetStringUTFRegionUTF字符串存儲到預分配的內存空間。相比GetStringUTFChars,它沒有重新分配內存空間,因此也無需釋放。

開發時,根據需要選擇適當的函數。

Android源代碼大量使用GetStringUTFCharsReleaseStringUTFChars。僅在少數幾處使用了GetStringUTFRegion。

創建一個jstring對象使用:

  jstring str = (*env)->NewStringUTF(env, your_utf_string);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章