2015-01-25 3 views
0

Я полный новичок на этом, но может кто-нибудь помочь или указать мне на решение, пробовал в течение 4 дней, чтобы остановить приложение, приложение работает отлично, но сбой при обновлении, это тестирование на галактики s3 & s5 и Асер таблетке Вот мой LogcatПриложение Crashing on refresh

01-25 17:32:21.571: E/AndroidRuntime(14391): FATAL EXCEPTION: Thread-1310 
01-25 17:32:21.571: E/AndroidRuntime(14391): Process: com.uktheatres, PID: 14391 
01-25 17:32:21.571: E/AndroidRuntime(14391): java.lang.OutOfMemoryError 
01-25 17:32:21.571: E/AndroidRuntime(14391): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94) 
01-25 17:32:21.571: E/AndroidRuntime(14391): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:145) 
01-25 17:32:21.571: E/AndroidRuntime(14391): at java.lang.StringBuilder.append(StringBuilder.java:216) 
01-25 17:32:21.571: E/AndroidRuntime(14391): at com.uktheatres.BT_fileManager.readTextFileFromAssets(BT_fileManager.java:371) 
01-25 17:32:21.571: E/AndroidRuntime(14391): at com.uktheatres.BT_fragment_load_config_data$3.run(BT_fragment_load_config_data.java:148) 
01-25 17:32:21.601: W/ZZ(14391): BT_activity_host:onPause 
01-25 17:32:22.341: W/ZZ(14391): uktheatres_appDelegate: onTrimMemory with level: 20 
01-25 17:32:22.351: W/ZZ(14391): BT_activity_host:onStop 
01-25 17:32:22.351: W/ZZ(14391): BT_activity_host:onDestroy 
01-25 17:32:22.361: E/WindowManager(14391): android.view.WindowLeaked: Activity com.uktheatres.BT_activity_host has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{21f7ec58 V.E..... R.....ID 0,0-580,162} that was originally added here 
01-25 17:32:22.361: E/WindowManager(14391):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:348) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.Dialog.show(Dialog.java:286) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.ProgressDialog.show(ProgressDialog.java:116) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.ProgressDialog.show(ProgressDialog.java:99) 
01-25 17:32:22.361: E/WindowManager(14391):  at com.uktheatres.BT_fragment.showProgress(BT_fragment.java:306) 
01-25 17:32:22.361: E/WindowManager(14391):  at com.uktheatres.BT_fragment_load_config_data.loadAppConfigDataAfterDelay(BT_fragment_load_config_data.java:102) 
01-25 17:32:22.361: E/WindowManager(14391):  at com.uktheatres.BT_fragment_load_config_data.onCreateView(BT_fragment_load_config_data.java:88) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.Fragment.performCreateView(Fragment.java:1700) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.BackStackRecord.run(BackStackRecord.java:684) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.os.Handler.handleCallback(Handler.java:733) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.os.Handler.dispatchMessage(Handler.java:95) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.os.Looper.loop(Looper.java:149) 
01-25 17:32:22.361: E/WindowManager(14391):  at android.app.ActivityThread.main(ActivityThread.java:5061) 
01-25 17:32:22.361: E/WindowManager(14391):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-25 17:32:22.361: E/WindowManager(14391):  at java.lang.reflect.Method.invoke(Method.java:515) 
01-25 17:32:22.361: E/WindowManager(14391):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) 
01-25 17:32:22.361: E/WindowManager(14391):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603) 
01-25 17:32:22.361: E/WindowManager(14391):  at dalvik.system.NativeStart.main(Native Method) 
+0

Я думаю, что это проблема диалога прогресса, ваша активность просачивается, когда отображается диалоговое окно прогресса. –

ответ

1

то, что вы получаете, OutOfMemorException и это означает, что

The exception that is thrown when there is not enough memory to continue the execution of a program. 

на возможном пути может быть разбить файл на небольшие кусочки

или то, что вы можете сделать, это проверить имеющиеся памяти, прежде чем загрузить файл

Таким образом, наиболее эффективным способ для обработки OutOfMemoryException является архитектура приложения таким образом, что он никогда не пытается загрузить большое количество данных в чтобы избежать исключения.

+0

Спасибо за ваши советы, ребята, я использую buzztouch для кода, приложение ищет конфигурационный файл, когда он обновляется, что довольно много (4 МБ), поскольку приложение имеет более 5000 экранов, все отлично работает в версии ios, но андроид один падает при обновлении, а не все устройства, только некоторые из них, я не думаю, что есть способ уменьшить файл конфигурации, как я проверяю доступную память и как я могу изменить объем данных в памяти, помните im новичку, поэтому руководство для идиотов, если у вас есть парни :) –

+0

проверить эту ссылку, они могут помочь вам http://stackoverflow.com/ вопросы/2630158/detect-application-heap-size-in-android .... http://stackoverflow.com/questions/3170691/how-to-get-current-memory-usage-in-android. ....... http://stackoverflow.com/questions/2298208/how-do-i-discover-memory-usage-of-my-application-in-android ... http://stackoverflow.com/questions/4820353/how-do-i-detect-the-heap-size-use-of-an-android-application –

+0

Ваша звезда, большое спасибо, изменила вариант в манифесте на большую кучу да, и все сбои остановлен, –