Encara hi ha molta gent que no sap com funciona la multitasca a iOS. Per començar, però, cal assenyalar que no es tracta d'una autèntica multitasca, sinó d'una solució molt intel·ligent que no llasta el sistema ni l'usuari.
Sovint es pot escoltar supersticions que les aplicacions que s'executen en segon pla a iOS omplen la memòria operativa, la qual cosa comporta una desacceleració del sistema i una reducció de la durada de la bateria, de manera que l'usuari hauria d'apagar-les manualment. La barra multitasca no conté realment una llista de tots els processos en execució en segon pla, sinó només les aplicacions llançades més recentment. Així, l'usuari no s'ha de preocupar pels processos que s'executen en segon pla, excepte en alguns casos. Quan premeu el botó d'inici, l'aplicació acostuma a passar a dormir o a tancar-se, de manera que ja no carrega ni el processador ni la bateria i, si cal, allibera la memòria necessària.
Això no és una multitasca completa quan tens desenes de processos en execució. Només s'està executant una aplicació en primer pla, que s'atura o s'apaga completament si cal. Només uns quants processos secundaris s'executen en segon pla. És per això que poques vegades trobareu un bloqueig d'aplicacions a iOS, per exemple Android està aclaparat amb aplicacions en execució de les quals l'usuari ha de tenir cura. D'una banda, això fa que el treball amb el dispositiu sigui desagradable i, de l'altra, provoca, per exemple, una arrencada lenta i transicions entre aplicacions.
Tipus de temps d'execució de l'aplicació
L'aplicació del vostre dispositiu iOS es troba en un d'aquests 5 estats:
- Córrer: l'aplicació s'inicia i s'executa en primer pla
- Antecedents: encara s'està executant però en segon pla (podem utilitzar altres aplicacions)
- Suspès: Encara s'està fent servir RAM però no funciona
- Inactiu: l'aplicació s'està executant però ordres indirectes (per exemple, quan bloquegeu el dispositiu amb l'aplicació en execució)
- No funciona: L'aplicació ha finalitzat o no s'ha iniciat
La confusió arriba quan l'aplicació passa a un segon pla per no molestar. Quan premeu el botó Inici o feu servir el gest per tancar l'aplicació (iPad), l'aplicació passa a un segon pla. La majoria de les aplicacions es suspenen en qüestió de segons (s'emmagatzemen a la memòria RAM de l'iDevice perquè es puguin iniciar ràpidament, no carreguen tant el processador i així estalvien la bateria) Podríeu pensar que si una aplicació continua utilitzant memòria, heu per eliminar-lo manualment per alliberar-lo. Però no cal que ho facis, perquè iOS ho farà per tu. Si teniu una aplicació exigent suspesa en segon pla, com ara un joc que utilitza una gran quantitat de memòria RAM, iOS l'eliminarà automàticament de la memòria quan sigui necessari i podeu reiniciar-la tocant la icona de l'aplicació.
Cap d'aquests estats es reflecteix a la barra multitasca, el tauler només mostra una llista d'aplicacions llançades recentment, independentment de si l'aplicació està aturada, en pausa o en funcionament en segon pla. També podeu notar que l'aplicació que s'està executant actualment no apareix al tauler Multitasca
Tasques de fons
Normalment, quan premeu el botó Inici, l'aplicació s'executarà en segon pla i, si no l'utilitzeu, s'aturarà automàticament en cinc segons. Així, per exemple, si esteu baixant un podcast, el sistema l'avalua com una aplicació en execució i retarda la terminació deu minuts. Després de deu minuts com a molt tard, el procés s'allibera de la memòria. En resum, no us haureu de preocupar d'interrompre la descàrrega prement el botó d'inici, si no triga més de 10 minuts a completar-la.
Córrer indefinida en segon pla
En cas d'inactivitat, el sistema finalitza l'aplicació en cinc segons, i en el cas de descàrregues, la terminació es retarda deu minuts. No obstant això, hi ha un petit nombre d'aplicacions que requereixen executar-se en segon pla. Aquests són alguns exemples d'aplicacions que es poden executar en segon pla indefinidament a iOS 5:
- Aplicacions que reprodueixen so i s'han d'interrompre una estona (pausa de música durant una trucada telefònica, etc.),
- Aplicacions que rastregen la vostra ubicació (programari de navegació),
- Aplicacions que reben trucades de VoIP, per exemple, si utilitzeu Skype, podeu rebre una trucada fins i tot quan l'aplicació estigui en segon pla,
- Descàrregues automàtiques (p. ex. Quiosc).
Totes les aplicacions s'han de tancar si ja no fan una tasca (com ara baixades en segon pla). Tanmateix, hi ha excepcions que s'executen en segon pla contínuament, com ara l'aplicació de correu nativa. Si s'executen en segon pla, ocupen memòria, l'ús de la CPU o redueixen la durada de la bateria
Les aplicacions que es poden executar en segon pla de manera indefinida poden fer qualsevol cosa que facin mentre s'executen, des de reproduir música fins a descarregar nous episodis de podcast.
Com he esmentat abans, l'usuari mai necessita tancar les aplicacions que s'executen en segon pla. L'única excepció és quan una aplicació que s'executa en segon pla es bloqueja o no es desactiva correctament del son. L'usuari pot tancar les aplicacions manualment a la barra multitasca, però això rarament passa.
Per tant, en general, no cal gestionar els processos en segon pla perquè el sistema s'encarregarà d'ells. És per això que iOS és un sistema tan fresc i ràpid.
Des de la perspectiva del desenvolupador
L'aplicació pot reaccionar amb un total de sis estats diferents com a part de la multitasca:
1. applicationWillResignActive
En traducció, aquest estat significa que l'aplicació renunciarà com a aplicació activa (és a dir, l'aplicació en primer pla) en el futur (uns quants mil·lisegons). Això passa, per exemple, quan es rep una trucada mentre s'utilitza l'aplicació, però al mateix temps, aquest mètode també provoca aquest estat abans que l'aplicació passi a un segon pla, per la qual cosa cal tenir en compte aquests canvis. Aquest mètode també és adequat perquè, per exemple, suspengui totes les activitats que està realitzant quan hi ha una trucada entrant i s'espera fins al final de la trucada.
2. applicationDidEnterBackground
L'estat indica que l'aplicació ha passat a un segon pla. Els desenvolupadors haurien d'utilitzar aquest mètode per suspendre tots els processos que no necessàriament s'han d'executar en segon pla i esborrar la memòria de les dades no utilitzades i altres processos, com ara temporitzadors que caduquen, esborrar imatges carregades de la memòria que no necessàriament seran necessàries o tancar. connexions amb servidors, tret que sigui fonamental per a l'aplicació completar connexions en segon pla. Quan es crida el mètode a l'aplicació, bàsicament s'hauria d'utilitzar per suspendre completament l'aplicació si no cal que alguna part d'aquesta s'executi en segon pla.
3. applicationWillEnterForeground
Aquest estat és el contrari del primer estat, on l'aplicació renunciarà a l'estat actiu. L'estat simplement significa que l'aplicació en repòs es reprendrà des del segon pla i apareixerà en primer pla en els propers mil·lisegons. els desenvolupadors haurien d'utilitzar aquest mètode per reprendre qualsevol procés que estigués inactiu mentre l'aplicació estava en segon pla. Les connexions als servidors s'han de restablir, els temporitzadors restablir, les imatges i les dades carregades a la memòria i altres processos necessaris es poden reprendre just abans que l'usuari torni a veure l'aplicació carregada.
4. applicationDidBecomeActive
L'estat indica que l'aplicació s'acaba d'activar després de restaurar-se en primer pla. Aquest és un mètode que es pot utilitzar per fer ajustos addicionals a la interfície d'usuari o per restaurar la interfície d'usuari al seu estat original, etc. Això passa realment en el moment en què l'usuari ja veu l'aplicació a la pantalla, per la qual cosa és necessari determinar amb precaució què passa en el mètode d'aquest i en el mètode anterior. S'anomenen un darrere l'altre amb una diferència d'uns mil·lisegons.
5. applicationWillTerminate
Aquest estat es produeix uns quants mil·lisegons abans que l'aplicació surti, és a dir, abans que l'aplicació finalitzi realment. Ja sigui manualment des de la multitasca o en apagar el dispositiu. El mètode s'ha d'utilitzar per desar les dades processades, per finalitzar totes les activitats i per eliminar les dades que ja no seran necessàries.
6. applicationDidReceiveMemoryWarning
És l'últim estat que més es parla. S'encarrega, si cal, d'eliminar l'aplicació de la memòria d'iOS si utilitza recursos del sistema innecessàriament. No sé específicament què fa iOS amb les aplicacions en segon pla, però si necessita una aplicació per alliberar recursos a altres processos, li demana amb un avís de memòria perquè alliberi els recursos que tingui. Per tant, aquest mètode s'anomena a l'aplicació. Els desenvolupadors haurien d'implementar-lo perquè l'aplicació cedi la memòria que té assignada, desi tot el que està en curs, esborri dades innecessàries de la memòria i, en cas contrari, alliberi adequadament la memòria. És cert que molts desenvolupadors, fins i tot principiants, no pensen ni entenen aquestes coses, i llavors pot passar que la seva aplicació amenaci la durada de la bateria i/o consumeixi recursos del sistema innecessàriament, fins i tot en segon pla.
Veredicte
Aquests sis estats i els seus mètodes associats són el rerefons de totes les "multitasques" a iOS. és un gran sistema, sempre que els desenvolupadors no ignorin el fet que cal ser responsable del que l'aplicació llança als dispositius dels seus usuaris, si es minimitzen o reben avisos del sistema, etc.
Font: Macworld.com
Autors: Jakub Požárek, Martin Doubek (ArnieX)
També tens algun problema per resoldre? Necessites assessorament o potser trobes l'aplicació adequada? No dubteu en contactar amb nosaltres mitjançant el formulari de l'apartat Assessorament, la propera vegada et respondrem la teva pregunta.
Hola, article molt interessant, però em pregunto si teniu algun suport tècnic per a ell. Perquè he solucionat la bateria diverses vegades al vespre abans d'anar a dormir i va passar que amb wifi i dades mòbils apagats, trigava més que en un altre cas amb wifi apagat i només 3G.
Malauradament, l'experiència és que a iOS, les aplicacions s'han d'apagar manualment i el sistema ja no funciona tan bé com abans.
Vaig substituir el meu iPhone per un Windows Phone (Samsung Omnia W per a 6200,-) i la velocitat del sistema és a un nivell completament diferent.
Em temo que quan surtin les tauletes de Windows 8 Metro, també substituiré l'iPad...
@007: sí, si compareu els antics iPhone3G amb els nous WP, aleshores sí (qui ho hauria esperat?) El WP serà una mica més ràpid. En cas contrari, les xafarderies sobre Karlulka no et van bé i era apropiat comparar l'HW actual. També vaig comprar WP7 i finalment vaig acabar amb 4s, que representa un nivell d'usabilitat completament diferent al de WP7. Així que passeu agradablement i desplaceu-vos sense parar per les fitxes.
Estic totalment d'acord amb Paja
Jo contribuiria de nou de les runes d'un altre barril - Samsung Galaxy S i iPhone 4 - diria que comparable en termes d'edat? En l'època d'iOS 4, i pel que fa a la usabilitat i la velocitat en un altre lloc que no sigui Android, Apple ha resolt molt bé el concepte de treballar amb aplicacions, però el mateix ja no passa amb Android. Al final, vaig acabar amb el 4S igualment i no tinc cap queixa, perquè "només funciona" .. i funciona molt ràpid!
La teoria és preciosa... Però a la pràctica, encara tanco l'aplicació a la barra ;)
Gràcies, molt interessant, pragmàtic, interessant, no li falta swing i profunditat. Subratllant significativament l'obsessió dels joves d'avui amb aquesta marca prohibida! Però gràcies per ella, així com per aquest article.
L'article està completament equivocat.
L'aplicació no es tanca quan es prem el botó d'inici, com s'ha indicat erròniament, sinó que s'atura. és a dir Definitivament, no esborreu de la memòria i no surtis. Només poseu en pausa l'execució, iOS donarà a aquesta aplicació un 0% de temps de CPU. Definitivament no "intercanvia" en cap lloc de la memòria de l'iDevice, com s'indica a l'article. És realment gràcies al fet que és possible utilitzar el canvi d'aplicació.
L'aplicació s'elimina de la memòria quan el telèfon té poca memòria per executar altres aplicacions amb una prioritat més alta (normalment s'executa una altra aplicació en primer pla).
En el primer cas, tens raó, va ser un error de traducció. Pel que fa a l'intercanvi, no estem parlant d'això aquí, estem parlant de la memòria operativa, no de l'espai d'emmagatzematge al dispositiu iOS.
la imatge de l'aplicació s'emmagatzema a la memòria durant un temps limitat fins que es torna a cridar per una ordre (vegeu 13,7 GB de 16 GB: els 2,3 GB es reserven per al sistema i les aplicacions suspeses)
Així, cal distingir entre aplicacions com Navegació, Skype i similars, aquestes aplicacions romanen actives fins i tot en segon pla, o una determinada funció no s'acaba i continua, per exemple, enviant dades sobre la seva ubicació o informació d'ubicació. O com Vokul en mode pord, escolteu i la multitasca encara s'escolta en segon pla.
Aquestes aplicacions esgoten la bateria i cal tancar-les manualment i no esperar a iOS. amb d'altres no és necessari, només allà en cas que l'aplicació es col·loqui.
No puc estar d'acord amb l'article. Min. en un iPad de 1a generació (iOS 5.0.1) està clar per veure si tinc moltes aplicacions "obertes" a la barra multitasca o només unes quantes. iOS intenta netejar la memòria, però òbviament no n'hi ha prou: la petita mida de la memòria RAM és probablement la seva major debilitat.
així que molt depèn del sistema i del maquinari utilitzat, és bastant lògic que serà pitjor en un iPad 1 amb iOS 5.0.1 que si fos en un iPad de 2a generació.
Ho sento company, aquesta és una descripció de la manera IDEAL en què hauria de funcionar. Malauradament, la realitat és completament diferent i ho sabríeu si utilitzeu productes d'Apple, almenys tant com jo (és a dir, de tant en tant).
"Sovint podeu escoltar supersticions que les aplicacions que s'executen en segon pla a iOS omplen la memòria operativa".
No és una superstició, és només un fet. Al cap i a la fi, ho reclames tu mateix a l'article.
"Com he esmentat anteriorment, l'usuari mai necessita tancar les aplicacions que s'executen en segon pla".
TONTERIA. Això només és una merda, propaganda de poma, no t'enfadis amb mi.
"Però no cal que ho facis, perquè iOS ho farà per tu. Si teniu una aplicació exigent suspesa en segon pla, com ara un joc que utilitza una gran quantitat de memòria RAM, iOS l'eliminarà automàticament de la memòria quan sigui necessari i podeu reiniciar-la tocant la icona de l'aplicació.
No és cert. La situació és una mica diferent. Un exemple típic: tinc aplicacions exigents que s'executen en segon pla, necessito jocs. Obro el navegador, obro un parell de pestanyes -> necessito més memòria. Què passarà? Continuo exigint aplicacions en segon pla, al contrari, EL PROPIS NAVEGADOR CAU. Si tanco les aplicacions exigents manualment, el navegador funciona durant molt de temps sense cap problema.
Això és pràctica, no teoria. I em sorprèn que, com a usuari a llarg termini d'un producte d'Apple, encara no ho sàpigues.
Gràcies, això està molt ben descrit i ben explicat. M'has ajudat bastant ;-) ♥
Només per començar, no estic ni a favor ni en contra d'iOS, igual que amb Android, però aquí hi ha algunes coses estranyes, si tal com està escrit aquí: "poques vegades trobeu un bloqueig d'aplicacions a iOS", llavors a les aplicacions d'Android s'estavellen. un cop l'any: -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
Sí, però els casos en què necessiteu tancar l'aplicació manualment són realment mínims, la vaig utilitzar una vegada? ;-) i donar un enllaç a una prova de comparació de Mobilemania no té cap sentit, quan vull llegir sobre la publicitat que va pagar Google, hi faré un cop d'ull ;-) tothom pot agafar qualsevol telèfon Android a la mà i això no funcionarà net, és a dir, amb l'excepció del Galaxy Nexus, que és el sistema més o menys fet a mida. En general, Android és un desastre
@Mek - He estat utilitzant productes Apple diàriament durant diversos anys i això no m'ha passat mai, de manera que la teva teoria d'alguna manera no funciona.
P:
@redakce – Es pot veure que el lloc web s'està treballant constantment o hi passa alguna cosa, però tinc la sensació que no triga una setmana a que tot funcioni com cal. I realment ja no vinc aquí, perquè el nou look no em va bé. Almenys vaig utilitzar la versió mòbil a l'iPhone, però ara no funciona gens, com és que? Actualment no responen a les publicacions dels comentaris.
@SteveJSF Malauradament, les coses no sempre surten com volem. Pel que fa a les respostes, el nou connector de SEO les va trencar, actualment s'està resolent.
WP-Touch també va cancel·lar el nostre servei per algun motiu, així que vam decidir trobar una solució millor que aquest connector. Així que aviat podreu esperar les properes notícies :-)
Bonic article. Pel que fa a la pràctica, voldria dir que estic d'acord amb diverses coses i la majoria de vegades funciona com s'ha dit, però malauradament encara hi ha aplicacions mal escrites que no es comporten correctament, i després hi ha casos com aquest. assenyalat per alguns lectors. Crec que Skype és un molt bon exemple, sé per la pràctica que encara funciona en segon pla (i està bé i així hauria de ser), però el problema és que aquesta aplicació esgota molt la bateria del dispositiu i Ja no ho veig bé. Per contra, aplicacions com Facebook, Badoo, etc. també segueixen funcionant en segon pla, però el seu consum és quasi imperceptible (almenys no n'observo cap). Per tant, crec que l'error està en les aplicacions individuals. Si sabés quins, n'hi hauria prou amb apagar-los manualment només!
Per tant, la pràctica és que Facebook s'executi segons sigui necessari i Skype només quan sigui necessari.
Bé, en canvi, si necessito estalviar bateria i sé que he de mantenir l'iPhone "viu" el màxim temps possible, també apago tot el que no és necessari en la multitasca, però sobretot no té un gran impacte, però si és necessari limito el 3G, tot internet mòbil, WiFi, serveis de localització, mode avió, intensitat d'il·luminació, etc. Com a part de la rutina, també desactivo les aplicacions esmentades en multitasca.
Així que personalment crec que l'article és cert, malauradament alguns programadors refuten aquestes coses amb les seves aplicacions, perquè les seves aplicacions són incorrectes i al meu entendre només hi ha dues solucions per a això 1. Si és possible no utilitzar l'aplicació i trobar una alternativa si és possible, o 2. Si no és possible, consulteu, per exemple, Skype, escriviu-ho al programador indicat a l'informe i espereu que hi faci alguna cosa.
Pot ser inútil desactivar les aplicacions manualment, però ho faig igualment. També vaig intentar no apagar el sistema d'aplicacions, deixar-los funcionar (o deixar-los adormits en segon pla) i la durada de la bateria era molt menor, també vaig haver de reiniciar l'iPad 2 després d'unes tres setmanes, va respondre lentament. Així que apago les aplicacions manualment, la bateria dura més, fa poc vaig reiniciar el dia de Nadal i funciona bé.
Per cert, faig el mateix a Mac OS X, només tanco l'aplicació que no necessito (CMD+Q), és millor que tenir-la dormint en segon pla i consumir RAM innecessàriament (que OS X pot" no funciona molt bé). Tinc poca memòria RAM, només 8 GB, però a Windows 7 amb 8 GB, el sistema no responia lentament ni intercanviava, a OS X aquest és un fenomen força comú (mai vaig apagar l'ordinador, també ho faig amb Mac, així que un mes i més temps no és una excepció, el problema és que de vegades he de reiniciar el Mac per precaució per alliberar RAM i "accelerar", Windows 7 no ho necessita).
M'interessa més com explotar l'aplicació. El que em va passar va ser que l'aplicació (específicament a Geocaching) va entrar en un estat en què estava carregant alguna cosa des del servidor principal i es va quedar encallat en aquest estat. El botó d'inici va funcionar, després de reiniciar, va tornar a l'estat congelat (on ho vaig deixar). Sortida manual (al menú multigust, manteniu premuda la icona i menys per tancar) = l'aplicació va desaparèixer, després de reiniciar-la es va obrir en el seu estat original on es va congelar. Així que ho vaig tancar tot, vaig apagar el telèfon, el vaig encendre, vaig fer doble clic a HOME i vet aquí: les aplicacions estaven totes allà tal com eren abans de tancar-se just abans d'apagar-se. El reinici tampoc va ajudar: manteniu a casa i a dalt fins que s'escalfi. L'únic que va ajudar va ser eliminar l'aplicació del telèfon, reiniciar-la i tornar-la a instal·lar al telèfon. D'alguna manera no ho vaig agafar.
Aquesta gestió de multitasca funciona i correspon als desenvolupadors fer front a aquestes situacions. Per als interessats en una descripció més detallada i professional de tota la situació, escriuré aquí com és.
L'aplicació pot respondre a un total de 6 estats i aquests estats són:
applicationWillResignActive
applicationDidEnterBackground
applicationWillEnterForeground
applicationDidBecomeActive
applicationWillTerminate
applicationDidReceiveMemoryWarning
Ara intentaré descriure aquests estats amb més detall.
applicationWillResignActive: aquest estat significa que en el futur (uns quants mil·lisegons) l'aplicació renunciarà com a aplicació activa (és a dir, l'aplicació en primer pla), això passa, per exemple, quan es rep una trucada mentre s'utilitza l'aplicació, però al mateix temps això Per tant, aquest estat s'activarà fins i tot abans que l'aplicació passi a un segon pla, de manera que cal tenir en compte aquests canvis. Aquest mètode també és adequat perquè, per exemple, suspengui totes les activitats que està realitzant quan hi ha una trucada entrant i s'espera fins al final de la trucada.
applicationDidEnterBackground: aquest estat indica que l'aplicació ha entrat en segon pla, els desenvolupadors haurien d'utilitzar aquest mètode per suspendre tots els processos que no necessàriament s'han d'executar en segon pla i netejar la memòria de les dades no utilitzades i altres processos, per exemple, els temporitzadors de caducitat, esborrar de imatges carregades de memòria que no necessàriament seran necessàries o que finalitzin la connexió amb els servidors si no és fonamental que l'aplicació completi la connexió en segon pla. Bàsicament, aquest mètode quan es crida a l'aplicació s'ha d'utilitzar per suspendre completament l'aplicació si no cal que alguna part d'aquesta s'executi en segon pla.
applicationWillEnterForeground: aquest estat és el contrari del primer estat quan l'aplicació renunciarà a l'estat actiu. Aquest estat de l'aplicació simplement vol dir que en els propers mil·lisegons l'aplicació en repòs es reprendrà des del segon pla i apareixerà en primer pla (l'aplicació entra en primer pla), els desenvolupadors haurien d'utilitzar aquest mètode per reprendre qualsevol procés que estigués inactiu mentre l'aplicació estava en primer pla. en segon pla, s'han de restablir les connexions als servidors, els temporitzadors restablir, les imatges i les dades carregades a la memòria i altres processos necessaris es poden reprendre just abans que l'usuari torni a veure l'aplicació carregada.
applicationDidBecomeActive: aquest estat indica que l'aplicació s'acaba d'activar després de restaurar-se al primer pla, aquest és un mètode que es pot utilitzar per fer ajustos addicionals a la interfície d'usuari o restaurar la interfície d'usuari al seu estat original, etc., aquest mètode passa realment. quan l'usuari ja pot veure a la pantalla, per la qual cosa cal determinar a partir del balanç què està passant en aquest mètode i en el mètode anterior. S'anomenen un darrere l'altre amb una diferència d'uns mil·lisegons.
applicationWillTerminate: aquest estat es produeix uns quants mil·lisegons abans que l'aplicació finalitzi, és a dir, abans que l'aplicació finalitzi realment. Ja sigui manualment des de la multitasca o en apagar el dispositiu. Aquest mètode s'ha d'utilitzar per desar les dades processades i per finalitzar totes les activitats i eliminar les dades que ja no seran necessàries.
applicationDidReceiveMemoryWarning - i aquesta és una condició que es parla molt aquí, si és necessari, iOS eliminarà l'aplicació de la memòria si utilitza recursos del sistema innecessàriament. No sé exactament què fa iOS amb les aplicacions en segon pla, però si necessita una aplicació per alliberar recursos a altres processos, li demana amb un avís de memòria perquè alliberi els recursos que conté. Per tant, aquest mètode s'anomena a l'aplicació i els desenvolupadors l'han d'implementar perquè l'aplicació cedi la memòria que té, desi la processada i esborri les dades innecessàries de la memòria i, en cas contrari, alliberi adequadament la memòria. És cert que molts desenvolupadors, per exemple principiants, no pensen en aquestes coses o no les entenen, i aleshores pot passar que la seva aplicació posi en perill la durada de la bateria i/o consumeixi innecessàriament recursos del sistema fins i tot en segon pla. No sé com es comportarà iOS si l'aplicació no fa res després de rebre un avís de memòria i continua consumint recursos del sistema com abans.
Aquests pocs estats i mètodes associats estan darrere de tota la "multitasking" a iOS... és un gran sistema si els desenvolupadors no ignoren la necessitat de ser responsables del que les aplicacions llançaran als dispositius dels seus usuaris si es minimitzen. o rebre avisos del sistema i més...
Espero que aquesta breu descripció us ajudi a entendre com participa l'aplicació perquè tot funcioni sense problemes. Per tant, és gairebé possible dir que es tracta d'un error d'ús incorrecte per part de l'usuari, que es pot entendre com: si utilitzeu majoritàriament aplicacions gratuïtes de desenvolupadors aficionats en gran nombre, el vostre dispositiu iOS funcionarà pitjor que si feu servir un gran nombre. nombre d'aplicacions gratuïtes i de pagament de desenvolupadors experimentats o professionals. Això no vol dir que no hi hagi excepcions en ambdós cercles. Foursquare, per exemple, es comporta de manera força estranya i exigent, i al mateix temps ja s'esperaria que siguin desenvolupadors molt hàbils que dediquen molt de temps a la gestió de la memòria i la bateria, però és el contrari. El problema més gran amb 4SQ és la comunicació amb els servidors, que sovint es penja i es veu desbordat. Aquest és només un exemple del fet que fins i tot aplicacions conegudes tenen problemes, la qual cosa no canvia el fet que 4SQ és un gran servei.
Passeu-ho bé Pomes!! :)
Hem afegit la informació a l'article amb l'amable permís de l'autor ;-)
Ho sento, ENTER estava a tot arreu entre paràgrafs, podrien fer-hi alguna cosa aquí perquè els comentaris tinguessin almenys una mica de FORMAT DE TEXT RIC.
ArnieX: gràcies pel comentari!!
Aquell Faramir: Parlo del teu problema, no sé si t'ajudarà en el teu cas, però sé per experiència pròpia que si tanques l'aplicació (en multitasca) trigaran uns segons fins que es tanqui, així que si l'apagas et recomano esperar uns segons (espero uns 10 segons per estar segur) fins que s'acabi definitivament i només aleshores el torno a començar.
Benvingut ;) Estaré encantat d'ajudar si tinc l'oportunitat de contribuir.
Com se suposa que ha de ser amb Meeb, quan inici la sessió al xat ICQ o FB a través d'ell, es tanca automàticament al cap de 10 minuts i em desconnecto o segueix funcionant? gràcies per l'aclariment :P
Després de deu minuts, la connexió de l'aplicació a Internet simplement s'interromp. Tanmateix, encara estaràs en línia al servidor de Meeba i rebràs una notificació push si algú t'escriu. Després de reobrir l'aplicació, la connexió s'establirà en un moment i podreu continuar xerrant feliçment.
Per tant, si he entès correctament l'article que heu enllaçat, les estadístiques només fan referència als bloquejos de l'aplicació quan s'inicien, que és un percentatge bastant petit dels casos en què es poden produir bloquejos. Per tant, és impossible concloure d'aquesta "investigació" que iOS sigui menys estable al meu entendre. A més, el traductor de l'article extret de Forbes s'ha oblidat d'esmentar que l'empresa que facilita les dades sobre els bloquejos d'aplicacions té el suport, entre d'altres, de Google ("Crittercism, que té el suport de Google Ventures,...").