Why does the iPhone need so much less RAM than Android devices?
Einheitliches Benachrichtigungs-Push
In Festlandchina kann das 4 GB Speicher iPhone 12 GB Speicher Android besiegen. Warum? Weil in seinem 12GB Speicher ein großer Teil für Apps gedacht ist, die ständig im Hintergrund lauern.
Das iPhone hat genug Selbstvertrauen, um iOS mit nur wenig Speicher auszuführen. Anfangs war der Bedarf an Speicher nicht so groß wie beim Android-Gerät.
Der Benachrichtigungs-Push des iPhones erfolgt auf "Systemebene", unabhängig von der App, ist die Kommunikation zwischen dem Gerät und dem Apple Server, nicht nur das Peer-to-Peer zwischen dem Gerät und dem Dienstanbieter.
So sendet beispielsweise der Server von Facebook eine Nachricht an den entsprechenden Server von Apple und "überträgt" sie dann auf dem Gerät. Wenn man die Benachrichtigung erhält, öffnet man die App und beginnt, Daten vom FB-Server zu empfangen. Obwohl es das gleiche ist wie die Benachrichtigung, die Sie zuvor gesehen haben, aber es kommt über zwei verschiedene Kanäle.
iOS kann nicht viele Hintergrund-Apps gleichzeitig ausführen, kann aber trotzdem Pushes stabil und schnell empfangen. Warum? Nur weil es den Kommunikationsprozess des Geräts an sich vereinfacht, benötigt es nur einen Port, um mit dem Apple-eigenen Server zu kommunizieren, anstatt der verschiedenen Ports jeder Anwendung wie beim Android, so dass das iPhone mit wenig Speicher ausgestattet werden kann.
Die Push-Methode von Android ist eher wie ein " PC ". Jede App, die in den Hintergrund geschoben werden muss, hat ihren eigenen Hintergrundprozess, um mit ihrem eigenen Server zu kommunizieren und Daten auszutauschen.
(Ähnlich wie der Apple Push Notification Service hat Android auch Google Cloud Message, wird aber vom Festlandchina blockiert.)
Dies ist eigentlich eine technische Sache, die die Designprinzipien sowohl von iOS als auch von Android-Betriebssystemen betrifft.
Dieses Problem ist auf dem Festlandchina noch offensichtlicher. Auf Festlandchina wird mehr Speicherplatz auf dem Android-Telefon hinzugefügt, da keine Verbindung zum Google-Server hergestellt werden konnte.
In der weltweit verkauften "Huawei P30" ist das 128GB Modell nur mit 4GB oder 6GB RAM ausgestattet.
Die chinesische Version des P30 (64GB Modell) ist mit 8GB RAM ausgestattet !
Auf dem Festlandchina gibt es kaum ein Android-Gerät mit 128 GB Speicherkapazität und 4 GB Arbeitspeicher, aber mindestens 8 GB. Auf den ersten Blick scheint es, dass die Chinesen ein Schnäppchen gemacht haben? Tatsächlich ist dies eine hilflose Maßnahme des heimischen Android-Ökosystems auf dem Festlandchina.
In Android müssen alle Apps einige Threads im Hintergrund (d.h. RAM) lassen, um eingehende Informationen empfangen zu können. Mit anderen Worten, wenn man sein Handy gerade eingeschaltet hat und es noch nicht benutzt hat, wurden einige der Threads aller Apps auf seinem Handy leise gestartet und in den Speicher gestellt.
Diese hintergrundinitiierten Threads können nicht geschlossen werden, da sie " rechtmäßig " sind. Wenn sie inaktiv sind, erhält der Benutzer die Nachricht nicht rechtzeitig. Darüber hinaus die Anzahl dieser Hintergrund-Threads nicht unterschätzen. Eine App im Hintergrund mit 10 oder 20 MB ist wirklich nicht viel, aber 100 Apps (64GB Handy kann 100 Apps aufnehmen) summieren sich, um fast 2GB Arbeitsspeicher zu fressen!
Warum haben chinesische Android-Geräte viel RAM? Z.B. verwenden wir oft die WeChat App: Zuerst, nachdem der Benutzer das WeChat-Login-Konto geöffnet hat, hält die WeChat-App auf seinem Handy eine "langfristige Verbindung" mit dem Tencent-Server.
Wenn man eine Nachricht an einen Freund sendet, wird diese Nachricht nicht direkt von seinem Handy an das Handy seines Freunds gesendet, sondern das Handy sendet die Nachricht an den Server von Tencent, dann sendet der Server von Tencent sie an den Freund.
Hier ist ein Problem. Wenn die WeChat-App auf dem Handy ausgeschaltet ist, auch wenn der Tencent-Server die Nachricht sendet, wird die Nachricht nicht empfangen, da die WeChat-App auf dem Handy vollständig geschlossen wurde, die sich vom Tencent-Server getrennt hat.
Erst als die WeChat-App wieder geöffnet wird, wird die Verbindung wieder hergestellt und kann die Nachricht empfangen werden. Wenn man die Nachricht rechtzeitig erhalten möchte, dann sollte die WeChat-App nicht ganz geschlossen sein. Einige Threads müssen verbleiben und im Hintergrund laufen und mit dem Tencent-Server verbunden bleiben, damit das System nach Erhalt der Nachricht sofort den "Benachrichtigungs-Push-Mechanismus" starten kann, um den Benutzer daran zu erinnern.
Daher muss die Arbeitsspeicher des Android-Geräts mit der Speicherkapazität erhöht werden. Je größer die Speicherkapazität, desto mehr Apps können installiert werden, und desto mehr Arbeitsspeicher wird benötigt, um sicherzustellen, dass die von der App im Hintergrund zurückgelassenen Threads einwandfrei funktionieren.
Lass uns über iOS sprechen, warum braucht es keinen großen Speicher? Weil Apple einen eigenen Server hat. Dieses System von iOS muss mit "Apple's Server" gekoppelt werden, damit es ordnungsgemäß funktioniert. Wann immer ein iOS-Gerät mit dem Internet verbunden ist, richtet das iOS-System zunächst ein Keep-Alive mit dem Apple-Server ein.
Beim iOS, wenn WeChat offen ist, dann ist die Logik die gleiche wie beim obigen Android, der Unterschied wird reflektiert, nachdem WeChat geschlossen ist.
Wenn die WeChat-App auf iPhone geschlossen ist, wird die Verbindung zum Tencent-Server getrennt:
Dein Freund hat Dir eine Nachricht geschickt, diese Nachricht wurde zuerst an den Server von Tencent gesendet.
Der Tencent-Server fand heraus, dass "WeChat APP auf Deinem Handy keine Verbindung mit dem Server herstellt".
Dann wird diese Nachricht an den Apple-Server weitergeleitet.
Dann sendet der Apple-Server es nach Erhalt an Dein iOS-System, und das System kann rechtzeitig eine Benachrichtigung vornehmen.
Es hat eigentlich nur einen zusätzlichen Schritt, aber der Vorteil ist, dass "WeChat App auf Deinem Handy vollständig geschlossen werden kann", es besteht keine Notwendigkeit, zusätzliche Threads zu hinterlassen, um Nachrichten zu empfangen, denn Apples Server wird immer "weiterhin Nachrichten empfangen" und die Nachricht an iOS senden, und dann Benachrichtigungen an Dich senden.
Auf diese Weise muss der Speicher des iPhone nicht mit der Erhöhung der Speicherkapazität erhöht werden, denn selbst wenn die App vollständig geschlossen ist, beeinflusst sie den rechtzeitigen Empfang der Benachrichtigung nicht. Darüber hinaus unterstützt das iOS nicht wirklich "echtes Gefühl der Hintergrundführung". Im Hintergrund unterstützt es nur eine begrenzte Art von Operationen wie das Anhören von Songs, das Herunterladen und die Navigation.
Wenn eine App in den Hintergrund geht und nicht innerhalb von 10 Minuten in den Vordergrund gebracht wurde, schließt das System sie und hinterlässt nur "einen Screenshot vor ihrem Tod". Das ist der sogenannte "Grabsteinmechanismus". Daher ist der größte Teil des iPhone-Gedächtnisses nur für diesen aktuellen App-Dienst vorgesehen, so dass eine App 4 GB Speicher benötigt, es ist wirklich "mehr als genug".
Anmerkung: Warum sagen wir alle, dass das iPhone sicher und privacy-orientiert ist?
Aus dem gleichen Grund, wenn die App auf dem iPhone geschlossen ist, ist es wahr, dass alle Threads wirklich geschlossen sind.
Aber für Android, da jede App "einige Threads im Hintergrund laufen lassen muss", einige skrupellose Apps oder sogar Handyhersteller, wird nicht nur den Thread zum Empfangen von Nachrichten hinterlassen, sondern auch einen Thread, um die Kamera oder das Mikrofon zu öffnen, um Benutzerdaten zu sammeln. Diese Hintergrund-Threads, da es sich um " Sachen auf Systemcode-Ebene " handelt, werden Benutzer sie wahrscheinlich nicht schließen.
Wenn Dein Android-Handy Google Serve verwenden kann, dann brauchst Du nicht so viel Arbeitsspeicher. Durch die Nutzung des Googleservers ist sein "Benachrichtigungs-Push-Mechanismus" mit iOS identisch geworden, es besteht keine Notwendigkeit, den eigenen Thread der App im Hintergrund zu lassen, der Googleserver wird den Apps unterstutzen, Informationen zu erhalten.
Aber da GFW, Android-Nutzer auf dem Festlandchina keine Verbindung zum "Google-Server" herstellen können, können Entwickler nur die Methode verwenden, die "ständig im Hintergrund lauert und arbeitet", um Apps rechtzeitig Nachrichten empfangen zu lassen. Damit der App-Thread im Hintergrund bleibt, braucht er viel Speicherunterstützung, dann muss der Android-Rechner den Speicher vergrößern. Also, wer wird für diesen zusätzlichen Speicher bezahlen? Die Wolle kommt noch vom Rücken der Schafe. Natürlich haben ihre Nutzer oder Verbraucher bezahlt. Dies ist der bedauernswerteste Teil der Android-Nutzer auf dem Festlandchina. Man muss nicht nur die Enthüllung der Privatsphäre ertragen, sondern auch für diesen Preis bezahlen.
Derzeit hat "Apps bleiben im Hintergrund" bereits die gesamte "Android Ökologie" im Festlandchina in Aufruhr und Chaos gebracht. Jeder große Hersteller denkt über seine eigene Lösung nach:
Z.B. Xiaomi hat beispielsweise einen eigenen Push-Service eingeführt.
Huawei verfügt auch über einen eigenen Push-Service.
...
Aber sie alle haben wenig Wirkung.
Kein Entwickler möchte mit ihnen zusammenarbeiten.
Der Entwickler muss verschiedene Typen anpassen, Hersteller zu Hersteller, was die Entwicklungskosten und die Wartungskosten erhöht.
App-Entwickler sind nicht bereit, auf die Vorteile von "App bleiben im Hintergrund" zu verzichten.
What do you think of the Great Firewall of China?