Testarea este o parte esențială a dezvoltării Android, permițându-vă să eliminați toate bug-urile, erorile și problemele de performanță care ar putea fi ascunse în aplicația dvs., înainte de ao dezlănțui publicului larg.
De fiecare dată când întâlniți o eroare, Android generează un mesaj de eroare și apoi afișează mesajul respectiv ca parte a aplicației Android Studio Logcat Monitor sau ca un dialog pe dispozitivul pe care îl utilizați pentru a testa aplicația.
Aceste mesaje de eroare sunt, de obicei, scurte și la un punct și, la prima vedere, nu pot părea toate de ajutor. Cu toate acestea, aceste mesaje conțin de fapt toate informațiile de care aveți nevoie pentru a vă aduce înapoi proiectul - trebuie doar să știți cum să le descifrați!
În acest articol, vom examina în profunzime cele 13 mesaje de eroare cu care vă întâlniți cel mai probabil atunci când vă dezvoltați orice Aplicația Android. Vom examina ceea ce fiecare dintre aceste mesaje de eroare într-adevăr înseamnă examinarea tuturor posibilelor motive pentru care s-ar putea întâlni fiecare eroare și, cel mai important, împărtășirea instrucțiunilor pas cu pas despre cum le puteți rezolva.
Există o gamă largă de mesaje de eroare pe care le puteți întâlni atunci când testați aplicația dvs., variind de la erori grave care vor cauza ca aplicația dvs. să prăbușească prima dată când încercați să o instalați pe un dispozitiv destinație la erori mai subtile care degradează performanța aplicației în timp.
În funcție de genul de eroare pe care îl întâlniți, Android va afișa mesajul de eroare fie pe dispozitivul pe care îl utilizați pentru a testa aplicația, fie în Android Studio.
Spotarea mesajelor de eroare care apar pe un dispozitiv fizic sau AVD este ușoară - trebuie doar să fiți atenți la orice dialog care apare pe ecranul dispozitivului dvs.! Cu toate acestea, erorile de detectare care apar în Android Studio pot fi complicate, deoarece monitorul Logcat înregistrează o cantitate imensă de informații, ceea ce face ușor să ratezi mesaje importante de eroare.
Cea mai ușoară modalitate de a vă asigura că nu pierdeți niciun mesaj de eroare este să deschideți aplicația Logcat Monitor prolix dropdown și setați-l la Eroare, care va filtra totul, cu excepția mesajelor de eroare.
Această eroare este cauzată atunci când aplicația Android Studio nu vă poate genera R.java fișierul este corect și poate ajunge adesea de nicăieri - un minut totul va funcționa bine și în minutul următor fiecare parte a proiectului dvs. nu reușește să compileze. Pentru a face lucrurile să se înrăutățească, atunci când se întâlnește Android Studio R.layout
eroare, va semnala, de obicei, că toate fișierele cu resurse de dispunere conțin erori, ceea ce face dificilă cunoașterea de unde să căutați sursa erorii.
Adesea, soluția cea mai eficientă este cea mai simplă: curățați-vă și reconstruiți-vă proiectul. Selectați Construiți> Proiectul curat din bara de instrumente Android Studio, așteptați câteva momente, apoi construiți-vă proiectul selectând Build> Rebuild Project.
Dacă un singur ciclu curat / reconstruit nu funcționează, încercați să repetați acest proces de câteva ori, deoarece unii dezvoltatori au raportat rezultate pozitive după ce au terminat mai multe cicluri de curățare / reconstruire în succesiune rapidă.
Dacă întâmpinați această eroare după mutarea unor fișiere și directoare în jur, atunci este posibil ca R.layout
eroarea este cauzată de o nepotrivire între memoria cache a aplicației Android Studio și aspectul actual al proiectului. Dacă bănuiți că este posibil, selectați File> Invalidate Caches / Restart> Invalidate și Restart din bara de instrumente Android Studio.
Probleme cu numele resurselor dvs. pot, de asemenea, împiedica R.java fișierul a fost creat corect, deci verificați dacă nu aveți mai multe resurse cu același nume și niciunul dintre numele fișierelor dvs. nu conține caractere nevalide. Sistemul Android Studio acceptă numai minuscule a-z, 0-9, opriri complete și subliniere, iar un singur caracter nevalid poate provoca o R.layout
eroare în întregul dvs. proiect, chiar dacă nu de fapt utilizare această resursă oriunde în proiect!
Dacă identificați și rezolvați o eroare, dar Android Studio afișează în continuare R.layout
, este posibil să fie necesar să finalizați un ciclu curat / reconstruit înainte ca Android Studio să vă înregistreze corect modificările.
Când compilați aplicația, fișierul APK conține fișiere bytecode executabile sub forma fișierelor de bytecode Dalvik Executable (DEX). Specificația DEX afirmă că un singur fișier DEX poate face referire la maximum 65.536 de metode și dacă întâlniți Prea multe domenii ... eroare atunci înseamnă că aplicația dvs. a depășit această limită. Rețineți că aceasta este o limitare a numărului de metode de proiect referințe, și nu numărul de metode ale proiectului dvs. definește.
Dacă întâmpinați această eroare, puteți:
Procesul de activare a suportului multidex va varia în funcție de versiunile Android acceptate de proiect.
Dacă vizați versiunea Android 5.0 sau o versiune ulterioară, primul pas este să deschideți fișierul și setările de nivel de construcție la nivel de modul multiDexEnabled
la Adevărat
:
android defaultConfig minSdkVersion 21 multiDexEnabled true
Cu toate acestea, dacă dvs. minSdkVersion
este de 20 sau mai mic, atunci va trebui să adăugați multiDexEnabled true
atributul și apoi adăugați biblioteca suport multidex ca dependență de proiect:
dependencies compile 'com.android.support:multidex:1.0.1'
Următorul pas depinde de faptul dacă aveți sau nu o problemă cerere
clasă.
Dacă proiectul tău are prioritate cerere
, apoi deschideți Manifestul și adăugați următoarele la
etichetă:
...
Dacă proiectul dvs. nu are prioritate cerere
clasa, atunci va trebui să se extindă MultiDexApplication
in schimb:
clasa publica MyApplication extinde MultiDexApplication
În cele din urmă, dacă o suprascrieți cerere
dar nu poate schimba clasa de bază, atunci puteți activa multidex prin suprascrierea attachBaseContext ()
metodă și chemare MultiDex.install (aceasta)
, de exemplu:
@Override protejată void attachBaseContext (baza de context) super.attachBaseContext (bază); MultiDex.install (aceasta);
Dacă primiți o eroare JDK de fiecare dată când încercați să vă construiți aplicația, înseamnă că Android Studio se străduiește să găsească locul în care este instalat JDK pe calculatorul dvs. de dezvoltare.
Pentru a remedia această eroare:
Dacă acest lucru nu rezolvă problema, navigați înapoi la Fișier> Structura proiectului ...> Locația SDK, și introduceți manual calea completă a fișierului pentru JDK. Dacă nu sunteți sigur unde este instalat JDK pe calculatorul dvs. de dezvoltare, atunci puteți afla dacă deschideți Terminalul (Mac) sau Command Prompt (Windows) și introduceți următoarea comandă:
/ Usr / libexec / JAVA_HOME
În timp ce AVD-urile sunt excelente pentru testarea aplicației dvs. într-o gamă largă de hardware și software diferite, trebuie să vă testați întotdeauna aplicația pe cel puțin un telefon sau tabletă Android fizică. Cu toate acestea, abilitatea Android Studio de a recunoaște un dispozitiv Android conectat este notoriu lovit și dor.
Dacă ați atașat dispozitivul la mașina dvs. de dezvoltare, dar întâlniți un dispozitiv Eroare la instalarea APK mesaj ori de câte ori încercați să instalați fișierul APK sau dispozitivul dvs. nu apare nici măcar în Selectați Ținta de implementare fereastră, încercați următoarele remedii:
Deschideți dispozitivul Setări, apoi selectați Opțiuni pentru dezvoltatori, și asigurați-vă Depanare USB este activat. Dacă nu vedeți Opțiuni pentru dezvoltatori în Setări meniu, apoi selectați Despre telefon și continuați să atingeți Construiți numărul până la Acum sunteți dezvoltator apare o notificare. Reveniți la principalele Setări ecran, și ar trebui să găsiți asta Opțiuni pentru dezvoltatori a fost adaugat.
Uneori, dispozitivul dvs. poate necesita o intrare suplimentară înainte ca acesta să se conecteze la mașina dvs. de dezvoltare. De exemplu, este posibil să vă solicitați să alegeți între diferite moduri sau să autorizați în mod explicit conexiunea.
Dacă dezvoltați pe Windows, va trebui să descărcați driverul corespunzător OEM USB pentru dispozitivul dvs. Dacă sunteți utilizator Nexus, puteți descărca Google USB conducătorul auto prin SDK Manager Android Studio.
Veți găsi SDK-ul minim al proiectului în fișierul gradle.build la nivel de modul și puteți verifica ce versiune de Android este instalată pe dispozitiv prin deschiderea Setări și trecerea la Despre telefon secțiune.
Deschideți o fereastră Terminal sau Command Prompt și apoi schimbați directorul (CD
), așa că arată spre tine platformă-unelte fereastră, de exemplu:
cd / Utilizatori / Descărcări / adt-bundle-mac / sdk / platform-tools
Apoi, terminați și reporniți procesul adb introducând următoarele comenzi una după alta:
./ adb kill-server
./ adb start-server
Dacă totul eșuează, încercați să deconectați și să reconectați dispozitivul, reporniți dispozitivul, reporniți aplicația Android Studio și, ca o ultimă soluție absolută, reporniți mașina de dezvoltare.
Dacă întâmpinați această eroare când încercați să instalați proiectul, înseamnă că dispozitivul destinație nu are suficientă memorie.
Dacă încercați să instalați proiectul pe un AVD, trebuie să verificați cât spațiu ați alocat AVD-ul respectiv:
Această secțiune listează diferitele tipuri de memorie pe care le-ați alocat acestui AVD. Dacă oricare dintre aceste valori este neobișnuit de scăzută, atunci ar trebui să le creșteți pentru a reflecta mai îndeaproape memoria disponibilă pentru smartphone-ul sau tableta Android tipic:
Dacă nu există nimic ciudat în legătură cu memoria AVD sau dacă încercați să instalați aplicația pe un telefon sau tabletă Android fizic fizic, atunci această eroare înseamnă că aplicația dvs. compilată este pur și simplu prea mare. O aplicație care ia o mușcătură semnificativă din memoria dispozitivului la timpul de instalare nu va merge niciodată bine.
Dacă aveți nevoie să reduceți dramatic dimensiunea fișierului APK, încercați următoarele tehnici:
Utilizați ProGuard pentru a elimina clasele, câmpurile, metodele și atributele neutilizate. Pentru a activa ProGuard, deschideți fișierul build.grade la nivel de modul și adăugați următoarele:
buildTypes release // Enable ProGuard // minifyEnabled true // Deoarece vrem să reducem cât mai mult dimensiunea APK, folosesc setările din fișierul proguard-android-optimize.txt // proguardFiles getDefaultProguardFile ('proguard -android-optimize.txt '),' proguard-rules.pro '
shrinkResources true
la fișierul build.grade al proiectului.Android: tentă
și tintMode
, și puteți roti o imagine utilizând android: fromDegrees
, android: toDegrees
, Android: pivotX
, și Android: pivotY
.Optimizați-vă bibliotecile. Încercați să eliminați orice biblioteci inutile sau cu memorie intensivă din proiectul dvs. Dacă aveți nevoie să utilizați o bibliotecă mare, verificați dacă există o modalitate prin care puteți optimiza această bibliotecă pentru mediul mobil, deoarece codul bibliotecii externe nu este adesea scris în memoria mobilă. Ar trebui să rețineți, de asemenea, că multe biblioteci conțin o cantitate mare de șiruri localizate. Dacă aplicația dvs. nu acceptă în mod oficial aceste biblioteci, atunci este posibil să reduceți mărimea bibliotecii informând Gradle să nu includă aceste șiruri în APK-ul dvs. compilat. Pentru a specifica limbile pe care aplicația dvs. acceptă oficial, deschideți fișierul build.gradle la nivel de modul și utilizați resConfigs
atribut. De exemplu, aici specificăm că vrem să includem în proiectul nostru numai șiruri de limbă engleză:
android implicitConfig resConfigs "en"
Luați în considerare faptul că fișierul dvs. APK conține o cantitate mare de conținut pe care utilizatorul individual le poate descărca, dar nu îl folosește niciodată. De exemplu, un dispozitiv cu un ecran hdpi nu are prea mult de utilizat xxxhdpi
active! Una dintre modalitățile cele mai eficiente de reducere a dimensiunii fișierului APK este să-l separați în mai multe fișiere APK, astfel că atunci când utilizatorul își descarcă aplicația, acesta va primi un fișier APK care conține doar codul și resursele care au sens pentru dispozitivul respectiv. Veți găsi mai multe informații despre crearea de fișiere APK care vizează diferite densități ale ecranului și interfețe binare specifice aplicațiilor (ABI) specifice la documentele oficiale Android.
Un ActivityNotFoundException
apare atunci când este apelat la startActivity (Intentie)
sau una dintre variantele sale nu reușește deoarece Activitate
nu poate executa data scop
.
Cea mai frecventă cauză a unui ActivityNotFoundException
uită să declare o activitate în manifestarea dvs., deschideți manifestarea dvs. și verificați-vă că ați declarat toate activitățile. De asemenea, trebuie să verificați dacă ați declarat fiecare activitate corect, utilizând fie un nume de clasă complet calificat, fie o oprire completă ca o scurtă descriere a numelui pachetului. De exemplu, ambele dintre următoarele sunt valide:
Dacă nu puteți observa probleme cu manifestarea dvs., atunci există câteva alte cauze potențiale ActivityNotFoundExceptions
. În primul rând, dacă întâmpinați această eroare după mutarea unui Activitate
clasa de la un pachet la altul, atunci este posibil ca ați confundat Android Studio și trebuie doar să vă curățați și reconstruiți proiectul.
Un ActivityNotFoundException
poate fi cauzată și în cazul unei erori în țintă Activitate
nu se încarcă corect. Pentru a verifica dacă acest lucru se întâmplă în proiectul dvs., puneți codul de intenție în interiorul unui bloc de încercare:
încercați // Codul dvs. aici // captură (ActivityNotFoundException e) e.printStackTrace ();
Rulați aplicația din nou și apoi aruncați o privire la Logcat Monitor Android Studio pentru a vedea dacă au fost capturate excepții care ar putea împiedica crearea unei activități țintă. Dacă este cazul, atunci rezolvarea acestor erori ar trebui să rezolve problema ActivityNotFoundException
, de asemenea.
ClassCastException
eroarea este legată de caracteristica de conversie de tip Java, care vă permite să distribuiți variabile de la un tip la altul. Vă întâlniți a ClassCastException
când încercați să aruncați un obiect într-o clasă a cărei instanță nu este. De exemplu, ambele fragmente de cod de mai jos vor avea ca rezultat: a ClassCastException
:
Obiect x = Integer nou (0); System.out.println ((String) x);
ImageView imagine = (ImageView) context.findViewById (R.id.button);
Acest mesaj de eroare conține informații despre linia care cauzează ClassCastException
eroare, navigați astfel la această parte a proiectului, verificați ce obiecte sunt distribuite acolo și rezolvați orice nepotrivire.
Dacă nu puteți observa o problemă cu casting-ul dvs., atunci luați în considerare dacă ați mutat recent unele Vizualizări
în jurul fișierelor de resurse de configurare, după cum unii utilizatori au raportat că întâlnesc a ClassCastException
după rearanjarea lor Vizualizări
. Dacă bănuiți că acest lucru poate fi cauza dvs. ClassCastException
, apoi spuneți Studio Android să vă regenereze fișierele de aspect de la zero, efectuând un ciclu curat / reconstruit. Acest lucru îi obligă pe Android Studio să înregistreze în mod corespunzător modificările recente ale aspectului, care ar trebui să vă rezolve problema ClassCastException
.
În Java, atunci când declarați o variabilă de referință, de fapt, creați un pointer la un obiect. Puteți declara că un obiect îndreptată în prezent către o piesă de date necunoscută atribuind o valoare nulă referinței obiectului respectiv. Valorile nula pot fi utile în codarea unor modele de design, dar dacă întâlniți un NullPointerException (NPE), înseamnă că ați încercat să folosiți o referință care indică o valoare nulă, ca și cum ar fi fost un referință pentru un obiect. Deoarece nu există niciun cod de execuție în locația în care se îndreaptă această referință, ați terminat cu un NPE.
Un NPE este, de obicei, însoțit de informații despre unde a fost capturată această excepție, astfel încât monitorul Logcat trebuie să conțină linia exactă în care a apărut această eroare. Navigați la această zonă a proiectului dvs. și identificați referința care este egală cu nul. Apoi, va trebui să găsiți locația în care trebuie setată valoarea și setați-o.
findViewById
metoda poate reveni, de asemenea, null în cazul în care solicitată Vedere
nu poate fi găsit, deci dacă NPE dvs. apare într-o linie care conține a findViewById
, verificați dacă ați inițializat aspectul care conține acest lucru Vedere
. De asemenea, fiți în căutarea oricărei greșeli de scriere sau a greșelilor care s-ar putea să fi intrat în dvs. findViewById
apel, deoarece acestea pot avea ca rezultat și un NPE.
Pentru a evita apariția NPE în proiectul dvs., asigurați-vă că toate obiectele sunt inițializate înainte de a încerca să le utilizați și întotdeauna verificați dacă o variabilă nu este nulă înainte de a cere o metodă sau un câmp de la acel obiect.
Aceasta este o eroare care apare ca un dialog pe dispozitivul Android sau AVD pe care îl utilizați pentru a testa aplicația. Aplicația nu răspunde (ANR) apare atunci când UI-ul aplicației se blochează și nu răspunde la intrarea utilizatorului timp de mai mult de cinci secunde. Acest lucru se întâmplă de obicei deoarece aplicația dvs. încearcă să efectueze operații de lungă durată sau intensivă pe firul principal de interfață cu Android.
În Android, firul principal al UI este responsabil pentru expedierea tuturor evenimentelor de intrare ale utilizatorilor la widget-urile UI corespunzătoare și pentru actualizarea interfeței UI a aplicației. Cu toate acestea, acest thread poate procesa doar o singură sarcină la un moment dat, deci dacă blocați firul principal cu operațiuni de lungă durată sau intensivă, interfața dvs. UI va fi complet inactivă până când această activitate nu este finalizată.
Dacă întâlniți un mesaj ANR în timp ce testați aplicația, atunci tu categoric trebuie să aruncați o privire asupra muncii pe care o realizați pe firul principal. Cu toate acestea, dacă nu întâlniți în mod explicit această eroare, dar observați că uneori uneori vă simțiți lent sau lent, este indicat faptul că sunteți pe punctul de a găsi o eroare ANR și, din nou, ar trebui să aruncați o privire la starea din thread-ul dvs. de utilizator.
Pentru a rezolva erorile ANR (și lângă-Erorile ANR), trebuie să identificați toate operațiunile care au potențialul de a alerga încet sau care necesită o putere de procesare semnificativă și apoi să le mutați de pe firul principal. Faceți acest lucru creând un fir de lucrător în cazul în care aceste operațiuni pot fi efectuate cu zero risc de blocare a firului principal de interfață.
Există mai multe metode de creare de fire suplimentare, dar cea mai simplă soluție este de a utiliza un AsynTask
, deoarece această clasă conține deja propriul fir de lucru și un onPostExecute ()
apel invers pe care îl puteți utiliza pentru a comunica cu firul principal de interfață cu Android.
Cu toate acestea, AsyncTasks sunt mai potrivite pentru a efectua operațiuni de fundal scurte, deci dacă aveți nevoie să efectuați o operațiune de lungă durată, atunci ar trebui să utilizați Serviciu
sau an IntentService
in schimb.
Deși deplasarea sarcinilor lungi și intense de pe firul principal va avea cel mai mare impact asupra performanței aplicației dvs., este cea mai bună practică să efectuați cât mai puține lucruri pe firul principal al UI. Chiar și o cantitate mică de cod inutil pe firul principal poate avea un impact asupra receptivității aplicației dvs. Deci, odată ce ați relocat cu succes toate operațiile de lungă durată și de intensitate, ar trebui să analizați dacă există mai mult cod pe care îl puteți îndepărtați firul principal.
În Android, vă puteți actualiza interfața utilizator numai din firul principal. Dacă încercați să accesați elementele UI din orice alt fir, atunci veți întâlni această eroare.
Pentru a rezolva această problemă, identificați partea din sarcina dvs. de fundal care încearcă să actualizeze interfața de utilizare și să o mute la un runOnUiThread
, de exemplu:
runOnUiThread (nou Runnable () @Override public void run () // Actualizați-vă UI //);
Alternativ, puteți utiliza un manipulator sau puteți efectua lucrul de fundal într-un AsyncTask, deoarece puteți comunica cu firul principal folosind AsyncTask's onPostExecute ()
metoda de retur. În cele din urmă, dacă te găsești în mod regulat trecerea între fire, atunci poate vrei să te uiți în RxAndroid, deoarece această bibliotecă îți permite să creezi un fir nou, să programezi o lucrare care să fie efectuată pe acest thread și apoi să postezi rezultatele în firul principal, toate cu doar câteva linii de cod.
Această excepție este aruncată atunci când aplicația dvs. încearcă să efectueze operațiuni de rețea în firul principal, cum ar fi trimiterea de solicitări API, conectarea la o bază de date la distanță sau descărcarea unui fișier. Deoarece operațiunile de rețea pot fi consumatoare de timp și cu o forță de muncă intensă, este foarte probabil ca acestea să blocheze firul principal, astfel încât Android 3.0 (Honeycomb) și mai sus vor arunca această eroare ori de câte ori încercați să faceți o solicitare de rețea pe firul principal.
Dacă întâlniți a NetworkOnMainThreadException
, apoi găsiți codul de rețea care rulează pe firul dvs. principal și mutați-l într-un fir separat.
Dacă aveți nevoie să faceți solicitări frecvente de rețea, atunci vă recomandăm să aruncați o privire la Volley, o bibliotecă HTTP care inițiază propriile fire de fundal, astfel încât toate solicitările de rețea să fie executate din firul principal în mod implicit.
Această eroare apare când încercați să afișați un dialog după ce ați părăsit activitatea. Dacă întâmpinați această problemă, deschideți Activitatea și asigurați-vă că respingeți corect dialogul, sunând respingerea ()
în activitățile fiecărei activități onDestroy ()
sau onPause ()
metoda, de exemplu:
@Override protejate void onDestroy () super.onDestroy (); dacă (pDialogue! = null) pDialogue.dismiss ();
Această eroare apare atunci când aplicația dvs. face o cerere de memorie pe care sistemul nu o poate îndeplini. Dacă întâmpinați acest mesaj de eroare, începeți prin a exclude toate cele mai frecvente greșeli de gestionare a memoriei. Verificați că v-ați amintit că vă dezarhivați toate receptoarele de difuzare și că v-ați oprit toate serviciile; asigurați-vă că nu țineți referințe în variantele statice ale membrilor și că nu încercați să încărcați niciun bitmap mare.
Dacă ați exclus toate cauzele evidente OutOfMemoryError
, atunci va trebui să vă grăbiți mai adânc și să examinați exact modul în care aplicația dvs. alocă memorie, deoarece există șanse să existe câteva zone în care puteți îmbunătăți gestionarea memoriei aplicației.
Android Studio are o întreagă zonă dedicată pentru a vă ajuta să analizați utilizarea memoriei aplicației, deci începeți prin selectarea Vizualizați> Fereastră de instrumente din bara de instrumente Android Studio. În acest moment veți vedea fie una Android Monitor sau Android Profiler , în funcție de versiunea de Android Studio pe care ați instalat-o.
Am discutat mai înainte despre lucrul cu monitorul de memorie de pe acest site, dar din moment ce Android Profiler este o nouă adăugire la Android Studio, să examinăm rapid caracteristicile sale majore.
Când deschideți Profiler Android, acesta începe să înregistreze automat trei informații.
Deoarece suntem interesați de modul în care aplicația noastră folosește memoria, dați-i Memorie secțiune un clic, care va lansa Memory Profiler.
Profilul de memorie constă dintr-o cronologie care afișează diferitele tipuri de memorie care sunt alocate în prezent de aplicația dvs., de exemplu Java, nativ, și grămadă. Deasupra acestui grafic veți găsi un șir de pictograme pe care le puteți utiliza pentru a declanșa diferite acțiuni:
Pentru a identifica părțile din aplicația dvs. care sunt responsabile pentru OutOfMemoryError
, petreceți ceva timp interacționând cu aplicația dvs. și monitorizați modul în care alocările de memorie ale aplicației se modifică ca răspuns la diferite acțiuni. Odată ce ați identificat secțiunea din proiectul dvs. care cauzează problema, petreceți ceva timp examinându-l pentru eventualele scurgeri de memorie, precum și orice ineficiență în modul în care utilizează memoria.
În acest articol, am analizat 13 dintre mesajele de eroare cu care sunteți cel mai probabil să întâlniți când dezvoltați Android. Am discutat toți diferiții factori care pot contribui la aceste erori și pașii pe care trebuie să îi faceți pentru a le rezolva.
Dacă sunteți afectat de un mesaj de eroare pe care nu l-am acoperit, primul dvs. pas ar trebui să fie copierea / lipirea întregului mesaj de eroare în Google, deoarece acest lucru va genera de multe ori fire și postări de blog unde oamenii discută cum să rezolve această eroare specială.
Și dacă nu găsiți o soluție oriunde pe web, puteți oricând să contactați comunitatea Android pentru ajutor direct, trimițând întreb