[英]Parse.com Android: Number of ParseObjects I can pin to the Local Datastore?
[英]parse.com - Android - unable to pin large size ParseObject to local datastore
我在Google Glass設備上使用Parse.com,並且嘗試將較大的ParseObject(大約50 MB)固定到本地數據存儲區。 我注意到,在堆內存超過10MB之后,固定過程將暫停,並且不會引發任何異常。 我也嘗試依次固定一系列ParseObject(一次),但是同樣,當堆達到10MB時,固定過程將暫停。 有時它比其他時候固定更多的對象,所以我猜測Java GC有時比其他人更努力。 請幫助我,或者給我一種替代的方法,用於在內部存儲大型對象(包含大量圖像)。
1)如果我正確理解了您的問題,則希望將圖像存儲在手機中(以便您的應用稍后可以檢索),然后您可以嘗試將其存儲在SD卡中:
public static boolean storeImage(Bitmap bitmap, String filename) {
boolean stored = false;
String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/myFolder";
File dir = new File(file_path);
if(!dir.exists())
dir.mkdirs();
File fileToStored = new File(dir, filename + ".png");
try {
FileOutputStream outputStream = new FileOutputStream(fileToStored);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, outputStream);
outputStream.flush();
outputStream.close();
stored = true;
} catch (Exception e) {
e.printStackTrace();
}
return stored;
}
*清單文件中需要權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2)使用Parse 2個月后,還有另一種方法供您使用Parse數據庫中的字符串來存儲圖像(注意Image列是一個字符串)和base64解碼/編碼:
public static Bitmap decodeBase64(String input) {
if (input == null) return null;
byte[] decodedByte = Base64.decode(input, Base64.NO_WRAP);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}
public static String encodeTobase64(Bitmap image) {
Bitmap immagex=image;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immagex.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b, Base64.NO_WRAP);
Log.e(TAG, "encoded Img: " + imageEncoded);
return imageEncoded;
}
*注意:使用NO_WRAP而不是DEFAULT,以便iOs應用程序還可以對字符串進行編碼和解碼
3)另一種存儲圖像的選項,我更喜歡將其存儲在服務器上,然后在需要時進行檢索,您可以將其存儲在自己的服務器上,或者使用其他著名的服務,我已經嘗試過Imgur API,並且效果很好(當然,如果您的應用每天沒有1,250次上傳或每天沒有大約12,500個請求,則它是免費的)
API文檔: https : //api.imgur.com/
Android上傳樣本: https : //github.com/AKiniyalocts/imgur-android
如果您知道其他更好的方法,請隨時發表評論。 技術日新月異!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.