9 votes

Quelles sont les principales différences entre les implémentations Android et iPhone du multitâche des applications ?

Quelles sont les principales différences entre les implémentations Android et iPhone du multitâche au niveau des applications ?

(Ne transformons pas cette discussion en un débat subjectif de fanboy, s'il vous plaît ?)

6voto

Il ne s'agit pas d'une réponse à votre question, mais il est utile de préciser que les deux systèmes d'exploitation sont entièrement multitâches [1] (dans la mesure où ils peuvent exécuter et exécutent plusieurs processus).

Votre question porte clairement sur le multitâche au niveau de l'application ("puis-je laisser une application s'exécuter tout en en utilisant une autre ?"), qui est une utilisation relativement nouvelle du terme et n'est pas toujours bien défini, même s'il existe des exemples évidents (comme écouter Pandora tout en lisant un courriel). Plus précisément, de nombreuses applications n'ont pas besoin de s'exécuter en arrière-plan pour se présenter à l'utilisateur comme si elles n'avaient jamais cessé de fonctionner, pour autant qu'elles sauvegardent/restaurent leur état. Les applications qui doivent effectuer des opérations périodiques (comme la vérification du courrier ou le déclenchement d'alarmes) n'ont pas non plus besoin de fonctionner continuellement en arrière-plan ; elles peuvent être invoquées occasionnellement par le système d'exploitation. Le gros problème concerne généralement les applications qui ont besoin d'un CPU constant en arrière-plan, comme Pandora.

En général, Apple s'est efforcée de décourager ou d'empêcher l'exécution continue d'applications en arrière-plan, alors qu'Android semble plus ouvert à cette idée. Mais ces deux approches convergent, car Apple permet à des applications comme Pandora de fonctionner en arrière-plan et Android fournit des outils plus riches pour décourager les tâches d'arrière-plan inutiles lorsque l'interrogation ou l'enregistrement d'un état suffirait.

[1] http://en.wikipedia.org/wiki/Computer_multitasking

3voto

D'après ce que je sais.

Le multitâche de l'iPhone est beaucoup plus limité. L'activité multitâche doit être l'une des suivantes :

  • Fond sonore
  • VoIP
  • Emplacement de fond
  • Notifications push
  • Notifications locales
  • Achèvement des tâches
  • Changement rapide d'application

[Merci Gizmodo !]

Android, en revanche, permet un véritable multitâche, comme sur un PC.

Avant d'être accusé d'être un fanatique d'Android, laissez-moi vous expliquer quelque chose. Le modèle multitâche de l'iPhone est plus que suffisant pour la plupart des situations et évite un grand nombre des problèmes (c'est-à-dire les pénuries de mémoire) qui accompagnent le système Android.

2voto

Android a un concept de multitâche au niveau des applications différent de celui d'un PC. Il y a une plus grande déconnexion entre les données, la façon de visualiser les données et la façon d'opérer sur les données.

Vous ne pouvez avoir qu'une seule vue d'application ouverte à la fois, mais l'opération sur les données peut se dérouler en arrière-plan. Il est donc difficile pour les développeurs d'applications de donner l'impression d'être sur le bureau lorsqu'on passe d'une application à l'autre, qu'on quitte une application ou qu'on en lance une nouvelle. Il est parfois impossible de tuer une application, mais il arrive aussi qu'il soit impossible de passer d'une tâche à l'autre et vice-versa. Cela dépend de la façon dont le développeur de l'application a procédé.

Vous pouvez avoir autant de processus d'arrière-plan en cours en même temps, et ils sont planifiés comme les applications de bureau. Le noyau Linux choisira comment donner la priorité à ceux qui obtiennent de la mémoire et des ressources CPU. Lorsque le téléphone décide qu'il n'a plus de mémoire, il commence à tuer des choses pour en gagner. Ceci est fait différemment de la façon dont Linux ou la plupart des autres systèmes d'exploitation se comportent normalement.

Les données d'un programme sont toujours disponibles. Tant que l'application dispose des autorisations nécessaires pour accéder aux données, celles-ci sont disponibles. Vous n'avez pas besoin d'un service fonctionnant en arrière-plan pour qu'elles soient disponibles.

Apple a des moyens très spécifiques pour vous permettre de faire du multitâche. Il s'agit d'un sous-ensemble des possibilités offertes par Android. Seuls certains types d'applications peuvent fonctionner en arrière-plan et elles doivent être spécifiquement programmées pour le faire.

Un bureau est très différent de ces deux choses. La vue, les données et la logique de traitement des données de chaque application sont souvent verrouillées ensemble. Je dirais que WebOS, Symbian et Maemo/Meego en sont des exemples sur les appareils mobiles. Si une application expose ses données et son traitement en arrière-plan à d'autres "vues", il s'agit généralement d'une application très spéciale.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X