我的应用(Android)需要从图库中选择一张照片。选择后需要显示在屏幕上。如果我选择一个小图像(例如1024x768),它效果很好。如果我选择一个更大的图像(例如之前使用相机拍摄的一些图像),应用程序会重新启动并返回到我的index.html,而logcat上没有例外。
这是我的代码:
function getPhoto(source) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 100,
destinationType : navigator.camera.DestinationType.FILE_URI,
sourceType:source});
}
我确定这是一个内存不足的错误。但是使用上面的代码,不需要将图像加载到内存中。没有必要使用phonegap调整大小(使用targetHeight ...)或更正方向。
我的解决方案用完了......
如果您需要:这是onPhotoURISuccess(imageURL)
function onPhotoURISuccess(imageURI) {
// Button Variablen zuweisen
var smallImage = document.getElementById('smallImage');
var button_capture = document.getElementById('button_capture');
var button_album = document.getElementById('button_album');
// Nicht gebrauchte Buttons verstecken
button_capture.style.display = 'none';
button_album.style.display = 'none';
// Ausgewähltes Foto anzeigen
smallImage.src = imageURI;
smallImage.style.display = 'block';
// Upload Button einblenden
var upload_button = document.getElementById('upload_button_album');
upload_button.style.display = 'block';
// Wert für Übergabe an Funktion in globale Variable speichern
myImage = imageURI;
}
修改
尝试使用此选项会导致应用程序重新启动:
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 40,
destinationType : navigator.camera.DestinationType.FILE_URI,
sourceType:source,
targetWidth:1024,
targetHeight:768});