Sobes.tech
Junior

Yığın ve yığın alanının belleği ne kadar?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yığın (Stack) ve yığın alanı (Heap) sabit değildir ve birkaç faktöre bağlıdır:

  • Yığın (Stack):

    • Yığının boyutu, iş parçacığı (thread) seviyesinde belirlenir.
    • Varsayılan boyut, Android sürümüne ve sanal makine (JVM/ART) uygulamasına bağlı olarak değişebilir.
    • Genellikle birkaç megabayt (örneğin, 1-8 MB) civarındadır.
    • Yığının boyutu, iş parçacığı oluşturulurken programatik olarak yapılandırılabilir, ancak bu, standart Android geliştirmede nadiren kullanılır.
  • Yığın alanı (Heap):

    • Yığın alanı, uygulama süreci için tahsis edilir.
    • Yığın alanı, çalışma sırasında dinamik olarak değişir ve gerekirse artar (belirli bir limite kadar).
    • Maksimum yığın alanı (heap size), cihaz, toplam RAM ve sistem yapılandırmasına bağlıdır.
    • Mobil cihazlarda, uygulama için tipik maksimum yığın boyutu onlarca ila yüzlerce megabayt olabilir.
    • Ayrıca "large heap" (büyük yığın) kavramı vardır; bu, uygulama manifestinde (android:largeHeap="true") talep edilebilir ve daha büyük bir maksimum yığın boyutu sağlar, ancak bu, sistem performansı ve diğer uygulamalar üzerinde olumsuz etkiler olabileceği için önerilmez.

Özet:

  • Yığın: İş parçacığı başına birkaç MB, sabit (iş parçacığı oluşturulurken).
  • Yığın alanı: İşlem başına onlarca/yüzlerce MB, dinamik, maksimum sınırla sınırlıdır.

Kesin evrensel değerler yoktur çünkü bunlar belirli cihaza, işletim sistemi sürümüne ve yapılandırmaya bağlıdır.