SD kart neden "/sdcard" (veya "/mnt/sdcard") yerine "/sdcard/external_sd" dizininde görünüyor?
Geçenlerde telefonumu LG Motion (Android 4 ICS) ile değiştirdim. Hafıza kartının "/sdcard/external_sd" dizininde göründüğünü gördüm. Ayrıca bazı diğer yeni modellerde de aynı şeyin olduğunu fark ettim. Uygulamalar hafıza kartının "/sdcard" dizininde olmasını bekliyor. Sanırım üretici firmalar telefona birden fazla dahili hafıza koymak istiyorlar, fakat dahili hafına neden "/sdcard" olarak görünüyor? Bu Android spesifikasyonuna bir yönden uygunsuz değil midir?
19.08.2014 tarihinde
Uluç Emre
sordu
Bu soruya toplam 1 cevap verilmiştir
<p>Sebep Android’in tarihi: ilk nesil Android cihazlar sadece /data için kullanılabilen sadece küçük bir miktarda dâhili hafızaya sahipti (100-400 MiB civarında). Daha sonra harici SD karta sahip cihazlar ortaya çıktı. SD kart sadece /mnt/sdcard için kullanılabiliyordu. </p>
<p>Bundan da sonra çok daha büyük dâhili hafızaya sahip cihazlar piyasaya sürüldü. Bu depolama bölünmüştü, çünkü /mnt/sdcard uygulamaların, fotoğrafların ve benzeri şeylerin büyük veri parçaları için varsayılan yer haline gelmişti. Böylece Android çevreleri /data ve /mnt/sdcard rehberi çıkarmak zorunda kaldılar. Bu yüzden bir kısım /data diğer bir kısım da /mnt/sdcard için ayrılmış durumda. /mnt/sdcard’ınızda bir sürü yer olmasına rağmen saklama alanınızın( ve /veri kısmının) düşük hale gelmesinin sebebi bu.<br />
Bu durum Android 3.0 ile geliştirildi: /data ve /mnt/sdcard şu an aynı yeri temsil ediyor. Google'ın çok önceki sürümlerden beri yapmış olması gereken iyi bir özellik. Bu ayrıca Android 3.0 ve daha üst sürümlerde neden app2sd’ye gerek kalmadığını da açıklıyor: veriyi sadece aynı bölümde oradan oraya taşımış olurdunuz. </p>
<p>Şimdi sorunuzun cevabına gelebiliriz: /mnt/sdcard dahili belleğe eklendiği için harici bir SD-kart farklı bir eklenme noktası bulmak zorunda. Ve bu eklenme noktası Google tarafından özelleştirilmemiş. Şöyle olabilirdi:</p>
<ul>
<li>/mnt/sdcard/ext_sd</li>
<li>/mnt/external</li>
<li>/mnt/extSdCard</li>
<li>/mnt/sdcard/external_sd</li>
<li>/etc.</li>
</ul>
<p>API çağrısı getExternalStorageDirectory() genelde dâhili bellek rehberini işaret eder. Bu olay belgelenir. Bu konuda meşru yollardan SD-kart rehberlerini bulabileceğiniz aletleri sağlayan open source projeleri vardır.</p>
12.09.2014 tarihinde
805 kez görüntülendi
son hareket 30.12.2014 tarihinde
son hareket 30.12.2014 tarihinde