Casa / Padroneggiare il PC / Componente aggiuntivo multi-finestra per Android 5. Come abilitare "multi-finestra": una funzionalità sperimentale in Marshmallow. Gestione delle finestre in Lollipop

Componente aggiuntivo multi-finestra per Android 5. Come abilitare "multi-finestra": una funzionalità sperimentale in Marshmallow. Gestione delle finestre in Lollipop

Traduzione in corso... Traduci cinese (semplificato) cinese (tradizionale) inglese francese tedesco italiano portoghese russo spagnolo turco

Sfortunatamente, al momento non siamo in grado di tradurre queste informazioni. Riprova più tardi.

Revisione

Il lavoro simultaneo con più finestre in Android è una caratteristica interessante che può distinguere la tua applicazione da molte altre, dandole un ulteriore vantaggio competitivo. Molti OEM e ODM come Samsung, Ramos e Huawei sono soggetti a base Sistema Android finalizzazione. In particolare, introducono il supporto per la modalità multi-finestra. Lo fanno per aumentare l'attrattiva dei loro smartphone e tablet, per distinguerli dalla maggior parte dei dispositivi che non supportano tale funzione.

Immagine 1. Scenari per l'utilizzo della modalità multi-finestra

Informazioni preliminari

Nel giugno 2012 è stato presentato Pietra angolareè la prima piattaforma open source per il multitasking su Android. Nell'agosto 2012, Samsung ha rilasciato il primo dispositivo che supporta il funzionamento multi-finestra. Dal 2013 ad oggi, puoi vedere la crescita esplosiva delle soluzioni per supportare il lavoro simultaneo con più finestre in Android.

A maggio 2015 è stata rilasciata Android M Developer Preview (oggi, a luglio, Preview 2 è già disponibile). Il rilascio ufficiale di Android M (6.0) è previsto per l'autunno 2015. Tra le altre novità, Android M Preview 2 si distingue per il supporto della modalità multi-finestra.

Figura 2. Sviluppo di soluzioni multitasking Android

Esistono due approcci per lavorare con più finestre: finestre mobili e finestre ancorate. Tra le caratteristiche principali del lavoro in modalità multifinestra, si possono notare l'apertura e la chiusura delle finestre (apri/chiudi), la modifica delle loro dimensioni (ridimensiona) e posizione relativa(scambio). Aprendo o chiudendo una finestra, abilitiamo o disattiviamo rispettivamente la modalità multi-finestra. La funzione di ridimensionamento consente di regolare le dimensioni delle finestre. Il riposizionamento delle finestre è un'azione che consente di scambiarle.

Figura 3.Stili di finestre multi-finestra

Nel 2013 sono apparse sul mercato molte soluzioni progettate per funzionare con più finestre. Sono stati sviluppati da OEM e ODM, ISV e dalla comunità open source. Nella tabella seguente, puoi trovare un confronto tra varie tecnologie multi-finestra Android.

ProdottoPietra angolare Spicca Xposed Legato a
DescrizioneFramework per l'organizzazione del multitasking nel sistema operativo AndroidUna libreria open source che può essere utilizzata per creare applicazioni con finestre mobiliUn'applicazione multi-finestra che supporta le finestre ancorateIl progetto mira a creare un ambiente di lavoro che ricordi il lavoro su un PC desktop
Supporto per apertura, chiusura di finestre, ridimensionamento, schermo intero
Stile finestraAppuntatogalleggianteAppuntatoFisso e galleggiante
Modifica del codiceA livello Piattaforme Android A livello di applicazioneA livello di piattaforma AndroidA livello di piattaforma Android
Supporto per l'applicazioneTutte le applicazioni sono supportate, tuttavia SurfaceView non è configurato dinamicamente.Alcune applicazioni di supporto. Ad esempio, una calcolatrice.La compatibilità e la stabilità della soluzione devono essere migliorate.Supporta tutte le applicazioni.
Versione AndroidAndroid 4.1 ~ Android 4.4Android 4.1~
Android 4.4
Android 4.4Android 4.4
Sito ufficialehttp://www.onscreen.comhttp://forum.xda-developers.com/showthread.php?t=1688531http://forum.xda-developers.com/xposedhttps://github.com/tieto/multiwindow_for_android

Architettura del software

Il codice della piattaforma Android può essere modificato per dotarla di supporto caratteristiche aggiuntive. L'architettura del sistema operativo Android è composta da diversi livelli.

Nel caso di Android 4.2 e Android 4.3., la shell (launcher) e le altre applicazioni vengono posizionate sullo stesso stack all'avvio, chiamato "stack principale" ("stack principale"). Come sai, la modalità multi-finestra richiede più stack per ospitare più finestre. Di conseguenza, è necessario modificare la classe di sistema ActivityManagerService aggiungendo un'interfaccia per creare e gestire lo stack. Per modificare la classe della piattaforma WIndowManagerService, che consente di gestire rappresentazioni grafiche applicazioni, è necessario modificare InputManager. Ciò è necessario affinché possa reindirizzare gli eventi touch alle finestre appropriate.

Con il rilascio di Android 4.4 e Android 5.0, l'approccio alla gestione dello stack è cambiato in modo significativo. La shell e altre applicazioni possono essere eseguite su stack diversi. Al sistema è stato aggiunto il supporto per più stack e la possibilità di gestirli. La figura seguente mostra le differenze nell'utilizzo dello stack in diverse versioni Androide.

Figura 4 Confronto del lavoro con lo stack in Android 4.3 e Android 4.4

Ora concentriamoci su Android 5 (Lollipop). Il sistema operativo Android utilizza meccanismi di callback per eseguire funzioni di interfaccia di un'attività. Tuttavia, la funzione di controllo è implementata a livello di piattaforma. Pertanto, esamineremo ora due classi importanti: ActivityManagerService e WindowManagerService.

Figura 5 Struttura del software della piattaforma Lollipop

Gestire un'attività in Lollipop

Poiché la capacità di lavorare in modalità multi-finestra dipende dallo stack, di seguito viene mostrato come creare uno stack e come avviare un'attività in questo stack. In Lollipop, le seguenti funzioni sono state aggiunte all'interfaccia IactivityManager.java:

Una volta avviato, il processo SystemServer richiama i servizi di Gestione attività e i servizi di gestione di Windows. Per osservare questo processo, possiamo aggiungere comandi per generare un'eccezione di runtime (RuntimeException) nelle posizioni appropriate.

Figura 6 Processo di creazione dello stack in Lollipop

Ora vediamo come avviare un'attività sullo stack:

Figura 7 Avvio di un'attività sullo stack

In Lollipop, adb (android debug bridge) ha aggiunto i seguenti comandi.

In Lollipop, i seguenti comandi sono stati aggiunti all'utilità ADB (Android Debug Bridge):

Gestione delle finestre in Lollipop

WindowManagerService è la parte centrale del sistema di gestione delle finestre. La sua funzionalità include l'invio di eventi di input, la gestione della posizione degli oggetti sullo schermo e le superfici su cui vengono visualizzati gli elementi grafici.

Figura 8 Ruolo di WindowsManagerService nell'architettura grafica Android

Problemi con più finestre

Quando si lavora in modalità multi-finestra, è disponibile il ridimensionamento della finestra. Ci sono esempi in cui non è possibile modificare le dimensioni della finestra che mostra l'animazione del gioco. Il motivo principale di ciò è che il sottosistema Android SurfaceFlinger non può ridimensionare dinamicamente l'immagine renderizzata.

Figura 9 I giochi che utilizzano SurfaceFlinger non possono ridimensionare dinamicamente la finestra

Un altro problema è che alcune applicazioni in modalità multi-finestra vengono visualizzate in modo errato. Nella figura seguente, puoi vedere che la calcolatrice multi-finestra non è visualizzata correttamente. Riguarda il layout dell'applicazione, che non è progettato per condizioni simili uso.

Figura 10.Calcolatrice con layout non progettata per funzionare in modalità multi-finestra

Supporto multi-finestra in Android M

Android M Developer Preview 2 può essere eseguito su Nexus 5, 6, 9 e Nexus Player. Se non disponi di un dispositivo del genere o non desideri installare un sistema operativo che si trova nello stato di anteprima su di esso, puoi familiarizzare con Android M utilizzando l'emulatore in Android Studio. In particolare, ora ci interessa mezzi standard per lavorare in modalità multi-finestra.

Per vedere questa modalità in azione, è sufficiente creare un nuovo dispositivo virtuale utilizzando lo strumento AVD Manager, scegliendo uno di quelli disponibili con la Level MNC API come immagine di sistema. Nel nostro caso, era un'immagine x86_64. Successivamente, è necessario avviare l'emulatore, andare alla sezione Impostazioni sviluppatore e abilitare l'opzione Multifinestra lì. Se non riesci a trovare questa opzione, dai un'occhiata a questa guida

Ora il più interessante. Per cominciare, puoi eseguire alcune applicazioni, tutto sarà come al solito. Ma se fai clic sul pulsante per chiamare l'elenco delle applicazioni aperte di recente, nei titoli delle finestre verranno visualizzate le miniature nuova icona. Per impostazione predefinita, questo è un frame che indica che l'applicazione è in esecuzione modalità schermo intero. Facendo clic su questa icona verrà visualizzato un menu di selezione del layout della finestra.

Figura 11.Modalità multi-finestra in Android M

Non è ancora noto se le multi-finestre saranno disponibili nella versione ufficiale di Android M. Tuttavia, ad esempio, il calcolatore di sistema in questa modalità si sente bene. Di conseguenza, abbiamo buone ragioni per ritenere che non sia lontano il giorno in cui l'adattamento delle applicazioni per la modalità multi-finestra si trasformerà da vantaggio competitivo in un'esigenza urgente.

Se vuoi equipaggiare le tue applicazioni progettate per di più prime versioni Android, con il supporto per più finestre, è tempo di passare alle soluzioni di terze parti discusse sopra. Ad esempio, a Pietra angolare.

Esempio: pietra angolare

Onskreen ha creato Cornerstone, il primo framework multi-finestra per Android. È progettato per dispositivi con schermi di grandi dimensioni e tablet. Il codice sorgente può essere scaricato da Github. Supporta le versioni Android 4.1 e 4.2. Per le versioni successive di questo sistema operativo, Cornerstone non è stato ancora rilasciato. Tuttavia, puoi analizzare il codice sorgente di Android 4.2 per scoprire i dettagli tecnici di come funziona il sistema.

Figura 12. Modifiche fondamentali in Android Jelly Bean

Risultati

In molti dispositivi mobili lavorando sotto Controllo Android Sistema operativo utilizzato Processori Intel®. In che modo gli sviluppatori possono migliorare l'esperienza utente delle loro app? Come rendere le applicazioni più competitive? Queste domande ci spingono a migliorare continuamente i prodotti sui dispositivi Intel Architecture (IA). Il supporto multi-finestra è buon esempio una funzione utile che offre alle applicazioni un vantaggio competitivo. Questa è una comoda modalità multi-finestra che offre all'utente la possibilità di eseguire più attività contemporaneamente. Ad esempio, guarda un video e scrivi una recensione ai tuoi amici su ciò che stanno guardando. Ad esempio, per giocare e leggere le sue recensioni. Oggi, più dispositivi supportano il funzionamento multi-finestra. Ad esempio, questi sono i tablet Ramos i12, Teclast x98 e Cube i7, che eseguono il sistema operativo Remix.

Figura 13.Modalità multi-finestra su dispositivi IA

L'annuncio ufficiale di Android 6.0 è avvenuto lo scorso autunno. Come si addice a qualsiasi aggiornamento importante, Marshmallow ha portato un gran numero di modifiche al sistema operativo mobile da parte di Google. Tuttavia, recentemente si è scoperto che alcune delle funzioni del sistema sono nascoste agli occhi degli utenti ordinari. Per accedere alla funzionalità nascosta, è necessario eseguire una serie di semplici passaggi. In questo articolo, ti mostreremo come abilitare la modalità multi-finestra su Android 6.0.

Innanzitutto va detto questo questa istruzione sarà rilevante solo per quegli utenti che hanno ricevuto i diritti di root sui propri dispositivi.


Dopo il riavvio, nel menu di tutte le applicazioni aperte avrai un'icona aggiuntiva, che ti permetterà di utilizzare la modalità multi-finestra su Android 6.0 Marshmallow.

Purtroppo la funzionalità questa modalità finora estremamente limitato. L'utente non può modificare autonomamente la larghezza delle finestre o selezionare le applicazioni da visualizzare. Lo stesso sviluppatore chiama questa funzionalità di prova e inizierà a funzionare completamente solo con i prossimi aggiornamenti. È curioso che nelle versioni firmware personalizzate, ad esempio, in

Come già sappiamo versione Android Nougat ha molte funzionalità che possono rendere l'esperienza dell'utente il più agevole possibile. Momenti fondamentali ultimo aggiornamento Android include una barra di notifica migliorata, trasferimento dati e ottimizzazioni per il risparmio energetico e supporto per i dispositivi realta virtuale. Uno degli aspetti più importanti dell'innovazione, che ha conquistato molti fan (noi compresi), è un insieme di opzioni di gestione delle attività. Grazie a ultimo aggiornamento Android 7.0 Nougat, ora puoi utilizzare due app contemporaneamente in modalità multi-finestra.

Nota

Ti informiamo che non tutte le applicazioni sono uguali,
e per questo motivo, scoprirai che non tutti sono compatibili con la modalità multi-finestra. Tuttavia, non dovresti preoccuparti: non è colpa tua, ma colpa degli sviluppatori, poiché avranno bisogno di più tempo per creare il prossimo aggiornamento prima che altre applicazioni possano funzionare nella modalità sopra. Oggi c'è un modo per aggirare questo problema. Puoi eseguire qualsiasi applicazione in modalità multi-finestra da "Strumenti per sviluppatori" in ultima versione mobile sistema operativo da Google.

Avvio di qualsiasi applicazione in modalità multi-finestra in Android Nougat

Per prima cosa devi attivare la voce "Strumenti per sviluppatori" sul tuo telefono. Per fare ciò, vai allo schema "Impostazioni> Strumenti per sviluppatori> Informazioni sul dispositivo". Quindi, fai clic più volte sul numero di build fino a visualizzare un messaggio che afferma che sei diventato uno sviluppatore.

Ora torna di nuovo al menu delle impostazioni e apri Strumenti per sviluppatori. Scorri fino in fondo alla pagina e abilita l'opzione "Ridimensionamento delle operazioni forzate". Quando lo fai, dovrai riavviare il dispositivo per attivarlo questa opzione. Dopodiché, anche quelle applicazioni che non erano compatibili con l'aggiornamento per Nougat potranno funzionare in modalità multi-finestra.

Infine, per utilizzare la modalità multi-finestra, apri due applicazioni a tua scelta, quindi tieni premuto il tasto multitasking. Entrambe queste applicazioni si apriranno ora in modalità multi-finestra.

Pensi che la modalità multi-finestra sarà utile per le tue esigenze di multitasking? Oppure rimarresti con il più tradizionale approccio single-tasking questo momento? Condividi i tuoi pensieri con noi nei commenti.

Ci sono diverse innovazioni che non sono visibili a prima vista e sono nascoste agli occhi dell'utente. Con il chip in termini di modifica delle icone sul pannello di controllo, oltre a visualizzare l'addebito in percentuale, forse si sono già incontrati tutti, ma, ahimè, non si può accendere il multi-finestra tenendo semplicemente l'ingranaggio. Come essere?

Sì, la possibilità di posizionare due applicazioni in esecuzione sullo schermo contemporaneamente in Android 6.0 è infatti prevista, ma l'azienda non è ancora pronta a fornirne l'accesso, poiché la funzionalità è ancora in fase di sviluppo e la sua attivazione potrebbe comportare lavoro precario. Ma cosa succede se vuoi ancora provare?

Il processo richiederà solo pochi secondi, ma il dispositivo deve essere rootato per apportare modifiche a un file che si trova nella cartella principale "sistema".

Tutto quello che devi fare è aggiungere la riga

persist.sys.debug.multi_window=true

alla fine del file build.prop.

Dopo aver salvato la modifica nel file e aver riavviato il dispositivo, vedrai una nuova opzione nella scheda delle app recenti.

Al momento, è improbabile che il multi-windowing in Marshmallow soddisfi, poiché ci sono una serie di restrizioni. Non è possibile ridimensionare la finestra, selezionare autonomamente la seconda applicazione (il sistema aprirà automaticamente quella che si trova subito dopo quella lanciata nella scheda con le applicazioni recenti). Tuttavia, non dimenticare che questa è una funzionalità sperimentale e ci vorrà del tempo prima che tutto funzioni come dovrebbe.

Il fatto che sia già in corso il lavoro verso il supporto multi-finestra farà sicuramente piacere a tutti gli utenti di Android "puro", che probabilmente da tempo desideravano avere una funzionalità del genere sui propri dispositivi (soprattutto considerando che Proprietari Samsung, LG, Sony è disponibile da molto tempo). Così, vediamo come il tanto atteso funzioni utili il che rende il sistema più pratico e completo.

Secondo Andro4all