2013-04-02 21 views
13

मैं एक उपयोगकर्ता के लिए जो क्षुधा का एक बहुत स्थापित है कि वह समस्या है जब मेरे एप्लिकेशन इस कोड के साथ गतिविधि की जानकारी बटोरता है से मेल मिला:पैकेज प्रबंधक मर गया

getPackageManager().queryIntentActivities(mAinIntent, 0) 

पूरे स्रोत यहाँ: https://github.com/ligi/FAST

तो ऐसा होता

Caused by: java.lang.RuntimeException: Package manager has died 
at android.app.ApplicationPackageManager.queryIntentActivities(ApplicationPackageManager.java:479) 
at org.ligi.fast.BaseAppGatherAsyncTask.doInBackground(BaseAppGatherAsyncTask.java:34) 
at org.ligi.fast.BaseAppGatherAsyncTask.doInBackground(BaseAppGatherAsyncTask.java:1) 
at android.os.AsyncTask$2.call(AsyncTask.java:287) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
... 5 more 
Caused by: android.os.TransactionTooLargeExceptionTransactionTooLargeException 
at android.os.BinderProxy.transact(Native Method) 
at android.content.pm.IPackageManager$Stub$Proxy.queryIntentActivities(IPackageManager.java:2230) 
at android.app.ApplicationPackageManager.queryIntentActivities(ApplicationPackageManager.java:473) 
... 9 more 
Log: 
0 D: Writing unhandled exception to: /data/data/org.ligi.fast/files/3.7-1364933885194.tracedroid 

वहाँ एक समस्या है कि मैं 1mb सीमा के खिलाफ चल रहा प्रतीत हो रहा है, लेकिन कैसे वहाँ से बाहर निकलना है? मुझे आवश्यक जानकारी कैसे मिल सकती है? क्या डेटा को तोड़ने का कोई तरीका है?

+1

क्या यह एक टाइपो 'ट्रांज़ेक्शनटूलार्ज एक्सेप्शन ट्रांज़ेक्शनटूलार्ज एक्सेप्शन' है? [इसे देखें] (http://developer.android.com/reference/android/os/TransactionTooLargeException.html) * बाइंडर लेनदेन बफर का सीमित निश्चित आकार है, वर्तमान में 1 एमबी, जिसे प्रक्रिया के लिए प्रगति पर सभी लेनदेन द्वारा साझा किया जाता है । नतीजतन यह अपवाद तब भी फेंक दिया जा सकता है जब कई लेनदेन प्रगति पर होते हैं, भले ही अधिकांश व्यक्तिगत लेन-देन मध्यम आकार के हों। * – t0mm13b

+0

'AppInfo' class,' निजी बिटमैप ड्रायबल आइकन; '... क्या वे बहुत ज्यादा स्मृति खा रहे हैं? आप AsyncTask के अंदर से 'संदर्भ' की कई प्रतियां क्यों पारित कर रहे हैं? – t0mm13b

+0

हाँ - एक सी और पीओ लगता है - कोई संकेत नहीं कि यह दोगुनी हो गई है। क्या आप समस्या के लिए एक समाधान देखते हैं? – ligi

उत्तर

5

मैं थोड़ी देर पहले उसी उपयोगकर्ता इनपुट के साथ इस त्रुटि में भाग गया। हालांकि मेरी फेंक दिया घटना अलग थी। मैं अपवाद को पकड़ने और उपयोगकर्ता को गर्व से रिपोर्ट करने के लिए समाप्त हुआ कि संभालने की क्षमता के साथ बहुत से ऐप्स इंस्टॉल किए गए थे। कई सौ हज़ार इंस्टॉलेशन में से मैंने इस परियोजना को केवल एक परियोजना के लिए पांच गुना से भी कम समय में देखा है, मुझे पता है कि यह कोई बहाना नहीं है लेकिन कुछ उपकरणों में स्थापित प्रत्येक एप्लिकेशन के इरादे को अनुक्रमणित करने के लिए ढेर नहीं है उपकरण पर।

संबंधित मुद्दे