Android sanal hafıza desteği
<p>Android’in sanal hafıza olayını destekleyip desteklemediğini öğrenmek istiyorum. Windows’un sanal hafızayı desteklediğini biliyorum ama Android hakkında bir fikrim yok. Android telefonlarımız daha az kullanılmış verileri RAM dışında bir yerde depoluyor mu?</p>
13.10.2014 tarihinde
Aynur Dilan
sordu
Bu soruya toplam 1 cevap verilmiştir
<p> </p>
<p>Android varsayılan olarak sanal belleği (sizin söylediğiniz anlamda) kullanmıyor, çünkü onun daha yüksek seviyeli bir mekanizması var. Şeffaf bir şekilde flaş bellekte sayfalar yazmak şarj ömrü (sadece belli sayıda sayfa yazılmasını kaldırabilen flaş bellek ömrü için de) ve performansı için kötü bir şey, özellikle de uygulamanın belleğin hangi kısımlarının “sayfa dışı” olduğu hakkında kontrol sahibi olmadığından beri.</p>
<p>Bunun yerine, Android artık çalışmayan uygulamalara son vermeye karar vereceği zaman kullandığı mekanizmanın aynısını kullanarak belleği yönetiyor. Biraz RAM’i boş bırakması gerektiğini fark edince, ön belleğe alınmış(cached) (son zamanlarda kullanımda olmayan)bir uygulama seçiyor.</p>
<p>Bu uygulamayı RAM’ini boşaltmak için sonlandırıyor, ancak öncelikle, bu uygulamanın aktivitelerini bazı durumları belleğe yazarak kaydetme şansı veriyor. Bazı uygulamaların tüm RAM içeriğini kaydetmesi yerine, uygulamanın neyi belleğe kaydedeceğini seçmesine izin vererek, Android bellekten yazacağı ve daha sonra okuyacağı şeylerin miktarını azaltabilir. Bu, belleği korur ve şarj gücünü ve ömrünü korur çünkü her biri belleğe yazar ve bellekten okur ve bu zaman ve güce mal olur.</p>
<p>Tabii ki, Android Linux’e dayanıyor ve kullanıcı tarafından görülemeyen farklı şekillerde sanal belleği kullanıyor. Android sistemlerinin bir MMU’sunun olması gerek, yani uygulamalar fiziksel değil sanal adresleri kullanırlar. Bu, uygulamaları diğer uygulamalar tarafından okunan kendi özel verilerini RAM’lerinde bulundurmalarından koruyor ki bu güvenli bir sistem için gerekli bir şey. Ayrıca Linux’un belleği korumak için gecikmiş vaatini de kullanıyor: Ne zaman ki bir işlem daha fazla bellek istese, sadece onları gerçekten kullanırken sayfalarca fiziksel hafıza kaplıyor. Sanal bellek ayrıca soya sistemindeki dosyalara ve bellek tarafından yönetilen yazılıma(hardware) erişime izin veriyor. Bunların hiçbirinin swap dosyalarıyla alakası yok, ancak bu Android’in sanal belleği kullandığını söylemenin çok da doğru olmadığı anlamına geliyor.</p>
<p>Android’de swap’ı etkinleştirebilirsiniz: daha fazla detay için <a href="http://android.stackexchange.com/questions/15596/is-there-a-way-to-create-virtual-memory">alakalı olan şu soruya</a> bakın. Çoğu durumda bunu yapmanız tavsiye edilmez, çünkü yukarıda açıklanan bellek koruyucu mekanizmaya zarar verir. Bir swap eklemek şarjınızın daha hızlı bitmesine neden olur, flaş belleğinizin daha hızlı yıpranmasına ve sistemin daha az duyarlı olmasına neden olur. Bunu sadece eğer ki kesinlikle cihazınızın sahip olduğundan daha fazla RAM gerektiren bir uygulama kullanmanız gerektiğinde yapmak isteyebilirsiniz.</p>
25.01.2015 tarihinde
1104 kez görüntülendi
son hareket 25.01.2015 tarihinde
son hareket 25.01.2015 tarihinde