რეკლამის დახურვა

ოპერატიული მეხსიერების იდეალური რაოდენობა, რომელიც ტელეფონებს სჭირდებათ მათი შეუფერხებელი მრავალდავალებისთვის, საკმაოდ საკამათო თემაა. Apple ახერხებს თავისი iPhone-ების უფრო მცირე ზომით, რაც ხშირად უფრო გამოსაყენებელია, ვიდრე Android გადაწყვეტილებები. თქვენ ასევე ვერ ნახავთ რაიმე სახის RAM მეხსიერების მენეჯმენტს iPhone-ზე, მაშინ როცა Android-ს აქვს ამისთვის გამოყოფილი ფუნქცია. 

თუ მიდიხარ, მაგალითად, Samsung Galaxy ტელეფონებში ნასტავინი -> მოწყობილობის მოვლა, აქ ნახავთ ოპერატიული მეხსიერების ინდიკატორს, სადაც მოცემულია ინფორმაცია, თუ რამდენი სივრცეა თავისუფალი და რამდენია დაკავებული. მენიუზე დაწკაპუნების შემდეგ ხედავთ, რამდენ მეხსიერებას იღებს თითოეული აპლიკაცია და ასევე გაქვთ მეხსიერების გასუფთავების შესაძლებლობა აქ. RAM Plus ფუნქცია ასევე მდებარეობს აქ. მისი მნიშვნელობა იმაში მდგომარეობს, რომ ის ამოიღებს GB-ს გარკვეულ რაოდენობას შიდა მეხსიერებიდან, რომელსაც გამოიყენებს ვირტუალური მეხსიერებისთვის. შეგიძლიათ წარმოიდგინოთ მსგავსი რამ iOS-ზე?

სმარტფონები ეყრდნობა RAM-ს. ის ემსახურება მათ ოპერაციული სისტემის შესანახად, აპლიკაციების გაშვებას და ასევე მათი ზოგიერთი მონაცემის შესანახად ქეშსა და ბუფერულ მეხსიერებაში. ამრიგად, ოპერატიული მეხსიერება უნდა იყოს ორგანიზებული და მართული ისე, რომ აპლიკაციებმა შეუფერხებლად იმუშაონ, მაშინაც კი, თუ მათ ფონზე გადააგდებთ და ცოტა ხნის შემდეგ ხელახლა გახსნით.

სვიფტი vs. ჯავა 

მაგრამ ახალი აპლიკაციის გაშვებისას, თქვენ უნდა გქონდეთ თავისუფალი ადგილი მეხსიერებაში მის ჩასატვირთად და გასაშვებად. თუ ეს ასე არ არის, ადგილი უნდა გათავისუფლდეს. ამიტომ სისტემა იძულებით შეწყვეტს ზოგიერთ მიმდინარე პროცესს, როგორიცაა უკვე დაწყებული აპლიკაციები. თუმცა, ორივე სისტემა, ანუ Android და iOS, განსხვავებულად მუშაობს RAM-თან.

iOS ოპერაციული სისტემა დაწერილია Swift-ში და iPhone-ებს რეალურად არ სჭირდებათ გამოყენებული მეხსიერების გადამუშავება დახურული აპებიდან სისტემაში. ეს გამოწვეულია iOS-ის აგებით, რადგან Apple-ს აქვს სრული კონტროლი მასზე, რადგან ის მუშაობს მხოლოდ მის iPhone-ებზე. ამის საპირისპიროდ, Android იწერება Java-ზე და გამოიყენება ბევრ მოწყობილობაზე, ამიტომ ის უფრო უნივერსალური უნდა იყოს. როდესაც აპლიკაციის შეწყვეტა ხდება, ის სივრცე უბრუნდება ოპერაციულ სისტემას.

მშობლიური კოდი vs. JVM 

როდესაც დეველოპერი წერს iOS აპს, ისინი ადგენენ მას პირდაპირ კოდში, რომელიც შეიძლება იმუშაოს iPhone-ის პროცესორზე. ამ კოდს უწოდებენ მშობლიურ კოდს, რადგან ის არ საჭიროებს ინტერპრეტაციას ან ვირტუალურ გარემოს გასაშვებად. მეორეს მხრივ, Android განსხვავებულია. ჯავის კოდის შედგენისას ის გარდაიქმნება Java Bytecode შუალედურ კოდში, რომელიც დამოუკიდებელია პროცესორისგან. ამიტომ ის შეიძლება იმუშაოს სხვადასხვა მწარმოებლის სხვადასხვა პროცესორზე. ამას უზარმაზარი უპირატესობები აქვს პლატფორმებთან თავსებადობისთვის. 

რა თქმა უნდა, არის უარყოფითი მხარეც. თითოეულ ოპერაციულ სისტემასა და პროცესორის კომბინაციას სჭირდება გარემო, რომელიც ცნობილია როგორც Java Virtual Machine (JVM). მაგრამ მშობლიური კოდი უკეთესად მუშაობს, ვიდრე JVM-ის მეშვეობით შესრულებული კოდი, ამიტომ JVM-ის გამოყენება უბრალოდ ზრდის აპლიკაციის მიერ გამოყენებული ოპერატიული მეხსიერების რაოდენობას. ასე რომ, iOS აპები ნაკლებ მეხსიერებას მოიხმარენ, საშუალოდ 40%. ამიტომაც Apple-ს არ უწევს თავისი iPhone-ების აღჭურვა იმდენი ოპერატიული მეხსიერებით, რამდენიც ანდროიდის მოწყობილობებს. 

.