2012-01-18 73 views
2

我正在開發一個android phonegap應用程序,使用phonegap v1.3.0
我的應用程序有一個按鈕,當點擊使用phonegap API啓動相機時,當返回照片路徑時用戶捕捉圖像。
但是,發生的情況是應用程序在相機返回之前崩潰,因此當相機返回時,應用程序將重新啓動。所以我沒有得到被捕獲的圖像。

在檢查日誌時,我發現在照相機啓動後,內核將sigkill發送到我的應用程序。
需要注意的一點是,當我殺死所有正在運行的應用程序,然後啓動我的應用程序並拍攝照片時,它會正常返回而不會導致應用程序崩潰。
此問題類似於https://github.com/callback/phonegap/issues/5
請告訴我可能會出現什麼問題?Phonegap android應用程序崩潰,由於內存不足打開相機

這裏有日誌 - 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> 
+2

'我正在開發一個android phonegap應用程序,這是你的問題。使用第三方框架來創建應用程序會讓您完全置身於該框架的穩定性之中。我意識到它的實用性,因爲你可以爲許多平臺構建,但我總是建議不要這樣的事情。每個平臺的特性和功能各不相同,但使用一個代碼庫幾乎不是一個好主意。在這種情況下,除非你做的事情真的不對,那麼它可能是一個手機的怪癖。我會提交一份錯誤報告,並等待看到結果。 – 2012-01-18 11:45:29

+1

實際上,它可能是由索尼的Camera Intent糟糕的實現引起的。許多Android製造商在Android發行版中添加了「臃腫軟件」,這往往會造成混亂。我喜歡Android,我喜歡爲它開發,但是這些類型的問題讓我在晚上不知所措。從字面上看!一個有類似問題的PhoneGap用戶有他的用戶安裝第三方相機應用程序,並使用它來拍照和BOOM!問題就消失了。我試圖在這裏不使用13字母的F字。 – 2012-01-18 14:52:46

+0

我想爲這個問題設計一個解決方法,除了使用第三方相機應用程序soln。該應用程序被殺死(相機啓動後),並在相機返回時重新啓動。重新啓動後,它可以查看文件捕獲過程中是否崩潰並檢索捕獲的圖像。我寫了一個phonegap插件來做到這一點,但我面臨一個問題。你可以請檢查http://stackoverflow.com/questions/8910443/android-phonegap-app-unable-to-retrieve-an-image-ta-ken-by-the-camera-using-my – ghostCoder 2012-01-18 15:12:46

回答

0

降低質量參數從50到30的內容停止相機API崩潰我的HTC Evo上的應用程序。

+0

把那個加到10,沒有差異的行爲:( – ghostCoder 2012-01-18 16:44:15

0

嘗試使用targetWidth和targetHeight縮小圖像大小。 使用DestinationType FILE_URI。

+0

減小尺寸不做任何事。 – ghostCoder 2012-01-24 12:13:07