Après des mois de développement, je me rends compte que mon application (seulement en utilisant Android 2.1) se bloque lorsque je fais pivoter l'écran. Je ne sais pas comment enquêter sur cette erreur. Quelle devrait être la cause? Merci pour les conseils. Cet "avertissement" peut-il causer une erreur? CV inattendu de com.example.app alors qu'il était déjà repris en com.example.appandroid 2.1 rotate cause crash
SharedPreferences prefs3 = PreferenceManager.getDefaultSharedPreferences(this);
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences prefs, String listpref) {
preferenze();
E/AndroidRuntime(1269): java.lang.StackOverflowError
E/AndroidRuntime(1269): at java.util.HashMap.doubleCapacity(HashMap.java:561)
E/AndroidRuntime(1269): at java.util.HashMap.put(HashMap.java:391)
E/AndroidRuntime(1269): at java.util.HashSet.add(HashSet.java:95)
E/AndroidRuntime(1269): at java.nio.charset.Charset.<init>(Charset.java:189)
E/AndroidRuntime(1269): at com.ibm.icu4jni.charset.CharsetICU.<init>(CharsetICU.java:33)
E/AndroidRuntime(1269): at com.ibm.icu4jni.charset.CharsetProviderICU.getCharset(CharsetProviderICU.java:62)
E/AndroidRuntime(1269): at com.ibm.icu4jni.charset.CharsetProviderICU.charsetForName(CharsetProviderICU.java:57)
E/AndroidRuntime(1269): at java.nio.charset.Charset.forNameInternal(Charset.java:500)
E/AndroidRuntime(1269): at java.nio.charset.Charset.forName(Charset.java:570)
E/AndroidRuntime(1269): at com.android.internal.util.FastXmlSerializer.setOutput(FastXmlSerializer.java:292)
E/AndroidRuntime(1269): at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:180)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl.writeFileLocked(ApplicationContext.java:2757)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl.access$800(ApplicationContext.java:2510)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2695)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3656)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): at com.example.app.MainActivity.access$0(MainActivity.java:3632)
E/AndroidRuntime(1269): at com.example.app.MainActivity$1.onSharedPreferenceChanged(MainActivity.java:2421)
E/AndroidRuntime(1269): at android.app.ApplicationContext$SharedPreferencesImpl$EditorImpl.commit(ApplicationContext.java:2703)
E/AndroidRuntime(1269): at com.example.app.MainActivity.preferenze(MainActivity.java:3732)
E/AndroidRuntime(1269): a
Veuillez fournir du code pour les lignes mentionnées dans 'MainActivity'. – Stan
3000 lignes de code. Dites-moi quelle partie de cela. merci –
Est-ce que com.example.app est le nom de votre application? Si c'est le cas, il semble que vous fassiez quelque chose dans onSharedPreferenceChanged qui provoque une boucle infinie, qui finit par consommer suffisamment de mémoire pour provoquer un débordement de pile. Peut-être avez-vous une ligne à l'intérieur de onSharedPreferenceChanged qui fait que onSharedPreferenceChanged sera appelé de nouveau indirectement? – Andy