Ich bekam Post von einem Benutzer, der eine Menge von Anwendungen installiert ist, dass er Probleme hat, wenn meine app Aktivität info mit diesem Code sammelt:Package Manager hat
getPackageManager().queryIntentActivities(mAinIntent, 0)
ganze Quelle hier: https://github.com/ligi/FAST
das ist, was
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
es passiert, scheint ein Problem zu sein, dass ich gegen die 1MB Grenze leite, aber wie von dort zu bekommen? Wie kann ich sonst die benötigten Informationen bekommen? Gibt es eine Möglichkeit, die Daten aufzuteilen?
Ist das ein Tippfehler 'TransactionTooLargeExceptionTransactionTooLargeException'? [Siehe hierzu] (http://developer.android.com/reference/android/os/TransactionTooLargeException.html) * Der Binder-Transaktionspuffer hat eine begrenzte feste Größe (derzeit 1 MB), die von allen laufenden Transaktionen für den Prozess gemeinsam genutzt wird . Folglich kann diese Ausnahme ausgelöst werden, wenn viele Transaktionen in Bearbeitung sind, auch wenn die meisten einzelnen Transaktionen eine moderate Größe haben. * – t0mm13b
'AppInfo' class,' private BitmapDrawable icon; "... essen sie zu viel Gedächtnis? Warum gibst du mehrere Kopien von 'Contexts' aus der AsyncTask? – t0mm13b
ja - scheint ein c & p'o zu sein - keine Ahnung wie sich das verdoppelte. Sehen Sie eine Problemumgehung für das Problem? – ligi