由于打开相机时内存不足,phonegap Android 应用程序崩溃
我正在使用phonegap v1.3.0 开发一个android Phonegap 应用程序
我的应用程序有一个按钮,单击该按钮时使用phonegap api 启动相机,当用户捕获图像时返回照片路径。
但发生的情况是应用程序在相机返回之前崩溃,因此当相机返回时,应用程序将重新启动。所以我没有得到捕获的图像。
在检查日志时,我发现内核在相机启动后向我的应用程序发送 sigkill 。
需要注意的一点是,当我杀死所有正在运行的应用程序,然后启动我的应用程序并拍照时,它会正常返回而不会导致应用程序崩溃。
此问题类似于https://github.com/callback/phonegap/issues/5
请告诉我可能出了什么问题?
以下是日志 - https://github.com/ghostCoder/ Logs/blob/master/e2o.mobile-logs.txt
我的应用程序的名称是 e2o.mobile
以下是我的 manifest.xml 的内容--
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xyz.test"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.STORAGE"/>
<application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="orientation|keyboardHidden" android:name=".Home" android:label="@string/app_name" android:launchMode="singleTop" android:imeOptions="actionSend|flagNoEnterAction">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:configChanges="orientation|keyboardHidden" android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:launchMode="singleTop" android:imeOptions="actionSend|flagNoEnterAction">
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
I am developing an android phonegap app using phonegap v1.3.0
My app has a button which when clicks launches the camera using the phonegap api, when returns the photo path when the user captures the image.
But what is happening is that the app crashes before the camera returns, so when the camera returns, the app is restarted. So I dont get the image which was captured.
On checking the logs I see that the kernal sends sigkill to my app after the camera is launched.
A point to note is that when I kill all the running apps and then start my app and take a picture it returns normally without the app crashing.
This issue is similar to https://github.com/callback/phonegap/issues/5
Please tell me what could be going wrong?
Here are the logs - https://github.com/ghostCoder/Logs/blob/master/e2o.mobile-logs.txt
the name of my app is e2o.mobile
Here are the contents of my manifest.xml--
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xyz.test"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.STORAGE"/>
<application android:debuggable="true" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="orientation|keyboardHidden" android:name=".Home" android:label="@string/app_name" android:launchMode="singleTop" android:imeOptions="actionSend|flagNoEnterAction">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:configChanges="orientation|keyboardHidden" android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:launchMode="singleTop" android:imeOptions="actionSend|flagNoEnterAction">
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将质量参数从 50 降低到 30 可以阻止相机 API 使我的 HTC Evo 上的应用程序崩溃。
Reducing the quality parameter from 50 to 30 stopped the camera API from crashing the app on my HTC Evo.
尝试使用 targetWidth 和 targetHeight 减小图像大小。
使用 DestinationType FILE_URI。
Try to reduce image size with targetWidth and targetHeight.
Use DestinationType FILE_URI.