Visualizzazione stampabile
-
Esiste un App Multitask?
Ciao a tutti,
chiedo scusa ma il titolo del thread non spiega bene quello di cui ho bisogno quindi vi faccio l'esempio pratico.
Dunque vorrei sapere se esiste un applicazione che mi permetta di mantenere aperte due applicazioni contemporaneamente.
Quello che voglio fare è usare l'App di Wordpress e nello stesso tempo avere anche la possibilità di usare il browser Internet, in modo da poter scrivere il post e consultare internet quando ne ho bisogno senza dover uscire necessariamente da wordpress.
Spero di essere stato abbastanza chiaro. :p
Grazie a tutti delle eventuali risposte. Bye
-
Quello che chiedi al momento non lo supporta il sistema operativo, forse lo fà Android 3, ma non lo conosco.
In ogni caso prova questo metodo, in alcuni casi può funzionare, e mi sembra il tuo.
Usi l'applicazione Wordpress, tasto home, apri il browser e consulti il web, tasto home, premi tasto home lungo, ti si aprono le ultime applicazioni, e torni a wordpress che dovrebbe essere come la hai lasciata, per tornare al browser premi tasto home e poi tap lungo sul tasto home, scegli il browser e torni nella pagina dove lo hai lasciato.
Il tgasto home non chiude le applicazioni, ma le freeza, le applicazioni si chiudono col tasto back che nel tuo caso non dovrai utilizzare.
-
Grazie Casaprocida,
avevo già pensato a quella opzione ma visto che ho un Galaxy Ace (quindi non così potente) non volevo far diventare matto il telefono con continui entra ed esci dalle app.
In tutti i modi grazie ancora, ciao
-
Fatemi capire... Vorreste dire che Android non e' multitasking, ossia non e' in grado di far girare due app contemporaneamente?
Ma state scherzando, vero? ;) Mica e' un i Phone!!!:-X
Basta NON usare il tasto "Back" (come ha suggerito correttamente procida) ma usare Home, e l'applicazione corrente resta attiva e puoi aprirne una seconda, per poi saltare da una all'altra tenendo premuto sempre Home.
-
@doc , mi dispiace contraddirti, su android i servizi sono multitasking, i processi in background sono congelati
-
Uhm, a me non risulta, tu hai riferimenti o documenti specifici per confermare quello che dici, ossia che una applicazione viene "congelata" quando il focus passa ad un'altra?
-
EDIT: tanto per fare una prima prova "al volo" (intanto che mi documento meglio;)) ho lanciato un'app che fa da cronometro e che mostra anche nella barra superiore il tempo (solo i minuti), mentre lanciavo il navigatore. Il cronometro continuava a funzionare, i minuti scorrevano, e da task manager (Android System Info, terza app lanciata contemporaneamente) non mi risulta abbia lanciato o installato alcun servizio.
E tanto perche' sono rompipalle, ho lanciato anche il play di un brano musicale: stesso risultato, il brano si sente anche mentre navigo, il cronometro continua a mostrare il tempo, e SystemInfo e' ancora in memoria, mentre lancio anche Gestione Attivita' che mi dice che ho 4 app attive, di cui una (PowerAMP) prende il 20% di CPU perche' sta continuando a suonare, le altre fanno relativamente poco della CPU...
Sicuramente ci sono applicazioni che se si accorgono della perdita del focus si auto-congelano per risparmiare CPU e quindi anche batteria (ad esempio i giochi), ma cosi' "a naso" mi pare strano che Android, che e' anche derivato da Linux, possa avere una limitazione al multitasking delle applicazioni...
Insomma, non mi hai ancora convinto.:)
-
Io do ragione a docdoc:
Ho fatto una app che scaricava il PDF de "il fatto quotidiano" (che funzionava prima che rimodernassero il sito :'(, ora dovrei rimetterci mano)
Il download proseguiva anche mandandola in background e aprendo una altra app.
Il punto è come è realizzata l'applicazione.
Ad esempio nella mia app il codice di download del PDF era racchiuso in un "AsyncTask",
una sorta di thread separato per non bloccare la UI in attesa del download.
Questo codice di certo NON veniva bloccato dal background.
Probabilmente la UI viene "congelata" se messa in background... non ricordo.
Fatto sta che Android *è* ,multitasking, e non solo per i servizi ma anche per le app.
Le app devono però essere fatte in maniera da sfruttare questa caratteristica.
-
IDEM, più volte ho utilizzato la soluzione proposta all'inizio da casaprocida e con successo (e questo già sottintende qualcosa)... credo che se android non fosse multitask (o non si comportasse come tale) avrei avuto molti disagi fino ad oggi per l'uso contemporaneo di molte app..
inoltre i task killer non avrebbero neppure potuto esistere..(ed il sistema android renderli inutili...ma è un altro discorso)
..poi magari in questo discorso ci sono sfumature che ignoro e fanno la differenza in quanto su certi temi "tecnici" devo farmi ancora le ossa, però la funzionalità che rilevo di android rispecchia l'idea di multitasking che ho appreso...:p
-
Quote:
Originariamente inviato da
docdoc
Uhm, a me non risulta, tu hai riferimenti o documenti specifici per confermare quello che dici, ossia che una applicazione viene "congelata" quando il focus passa ad un'altra?
La mia asserzione era legata più al sentito dire su questi e altri forum che da esperienza diretta, non ho mai sviluppato nulla in vita mia, ma mi ritengo un bravo smanettone e con i sistemi più vari sono anni che ci campo. In effetti la mia asserzione "i processi in background sono congelati" non è completamente giusta, ma come dice neopard, che ringrazio insieme a docdoc che mi hanno dato la volontà di approfondire.
Sono andato a documentarmi in quella che è definita la "bibbia di Android" (grazie CrimeScene) ovvero Android Developers Blog e ho trovato questo interessantissimo articolo Android Developers Blog: Multitasking the Android Way.
Spero esso possa essere di aiuto a tutti e sopratutto, continuo a ringraziare i meravigliosi utenti di questo tread che mi hanno forzato a fare questa ricerca con le loro argute argomentazioni.
-
Ho letto con gusto quell'articolo, molto interessante effettivamente, grazie!
Pero' lasciami dire che ci sono varie considerazioni che sono comuni a vari sistemi operativi e relative applicazioni. Faccio un breve paragone con quanto conosco (programmo da quasi 20 anni, soprattutto in ambiente Microsoft ovviamente ma anche a suo tempo sotto Linux in C, ad esempio).
Soprattutto quando dice che "un'applicazione anche se risulta 'running' non e' detto che stia girando" dice una cosa corretta. Ma lo e' anche su windows se e' per questo! Tanto per fare un parallelo con cose che molti probabilmente conoscono, ossia i concetti legati alla programmazione in Visual Basic.
Allora, partiamo dal concetto della memoria e CPU: io posso avere una form (diciamo la finestra del mio programma) non caricata (unloaded) quindi non occupa spazio in memoria di lavoro e non impiega CPU. Oppure una form caricata e in esecuzione, quindi occupa spazio e CPU. Oppure una form caricata (loaded) ma che non sta facendo nulla. Anche questo esiste sotto Android, mi pare di capire, e quest'ultimo stato e' quello che ha generato secondo me la confusione in molti! Su un telefono, che ha risorse limitate sia di memoria sia di CPU, posso avere anche qui programmi NON caricati, oppure caricati e che stanno facendo qualcosa, oppure caricati ma che non stanno facendo nulla (quindi "congelato" come direste...), ed il passaggio da uno stato all'altro e' qui molto piu' critico su uno smartphone che non su un PC con giga di RAM e CPU potenti.
L'altro aspetto che bisogna tenere in considerazione, soprattutto sul passaggio da uno stato ad un altro di quei 3, e' la gestione degli eventi. Oltre ad essere una questione alla base della programmazione ad oggetti, se vogliamo, determina anche quando un programma e' "caricato" ma "non sta facendo nulla" ma semplicemente perche' e' in attesa di un certo evento! Potrebbe essere un timer, una connessione di rete, lo svuotamento di un buffer, o la fine della riproduzione di un file audio, oppure attende che l'utente prema un pulsante, o che dia nuovamente il cosiddetto "focus" all'applicazione per iniziare ad interagire dopo aver selezionato un'altra applicazione.
Un'applicazione "ben fatta" (soprattutto in ambiente smartphone, come detto) ovviamente non si mette a fare cicli infiniti in attesa di un evento, perche' questi cicli comunque usano CPU e quindi consumano batteria (e sappiamo che ci sono alcune app magari carine ma "fatte male" che fanno alzare il consumo, no?...;)).
Per cui dire che l'applicazione e' "congelata" e quindi NON c'e' una gestione del multitasking semplicemente perche' e' in background (non ha il "focus") o perche' in attesa di un input o altro evento che, tramite il sistema operativo, la faccia intervenire, e' SBAGLIATO. E ancora piu' sbagliato e' affermare che Android non sia multitask per quelle ragioni.
Comunque e' sempre interessante confrontarsi, e trovare persone disposte a questo, e' stimolante, e permette a tutti di prendere qualcosa di buono dagli altri, IMHO.:)
-
Mitico doc. Con l'ultima frase hai centrato il mio punto di vista. Capisco le tue argomentazioni, ma lascio la palla, sto totalmente fuori dal mio campo e dalle mie esperienze piú legate ai sistemi che al codice.
Inviato dal mio LG-P500 usando Androidiani App