Saya baru-baru ini meningkatkan telepon saya ke LG Motion 4G (Android 4 ICS). Saya melihat bahwa sdcard sudah terpasang di /sdcard/external_sd
. Saya juga memperhatikan bahwa ini tampaknya sama dengan beberapa model baru lainnya. Aplikasi mengharapkan sdcard berada di /sdcard
. Saya berasumsi bahwa produsen ingin memasukkan banyak penyimpanan internal, tetapi mengapa memasang penyimpanan internal pada /sdcard
? Tidakkah ini bertentangan dengan beberapa bentuk standar spesifikasi Android?
external-sd
storage
Sepero
sumber
sumber
Jawaban:
Alasannya adalah sejarah Android: Generasi pertama perangkat Android hanya memiliki sejumlah kecil penyimpanan internal (sekitar 100-400MiB) yang dipasang di bawah
/data
.Selanjutnya, perangkat dengan, pada saat itu eksternal, SD-card keluar. Kartu SD dipasang di bawah
/mnt/sdcard
.Setelah itu, perangkat dengan penyimpanan internal besar muncul di pasaran. Penyimpanan ini dibagi, karena
/mnt/sdcard
telah menjadi tempat default untuk potongan data besar dari aplikasi, gambar, dan semacamnya. Jadi lingkungan Android harus memiliki/data
dan/mnt/sdcard
direktori. Karena itu satu partisi untuk/data
, yang lain untuk/mnt/sdcard
. Ini adalah alasan mengapa ruang penyimpanan Anda bisa menjadi rendah (/data
partisi) bahkan jika ada banyak ruang/mnt/sdcard
.Situasi ini diperbaiki dengan Android 3.0:
/data
dan/mnt/sdcard
sekarang menunjuk ke partisi yang sama. Kerja bagus Google, itu bisa dilakukan versi yang lalu. Yang juga menjadi alasan mengapa app2sd tidak diperlukan lagi di Android 3.0 atau lebih tinggi: Anda hanya akan memindahkan data dalam volume yang sama.Sekarang kita sampai pada jawaban jika pertanyaan Anda: Karena
/mnt/sdcard
sudah terpasang pada penyimpanan internal, kartu SD eksternal harus menggunakan titik pemasangan yang berbeda. Dan titik pemasangan ini tidak ditentukan oleh Google. Bisa jadi/mnt/sdcard/ext_sd
/mnt/external
/mnt/extSdCard
/mnt/sdcard/external_sd
Panggilan API
getExternalStorageDirectory()
biasanya menunjuk ke direktori penyimpanan internal. Perilaku ini didokumentasikan. Ada proyek open source yang menyediakan alat untuk menemukan direktori SD-card eksternal dengan cara kanonik.sumber
isExternalStorageRemovable()
untuk melihat apakah penyimpanan "eksternal" dapat dilepas, ditambah satu dapat menentukan titik mount (menggunakanmount
perintah) dan memeriksa tanda mount dll. Tetapi jika saya tidak salah di sini, ini masih berarti setiap kebutuhan pengembang untuk mengetahui sendiri aplikasinya, dan tidak ada panggilan API sederhana untuk melakukannya untuknya?/data
partisi digabungkan, bagaimana saya bisa memasang / melepas kartu SD saya dengan aman untuk dihubungkan, katakanlah, di PC saya? Tampak bagi saya bahwa memiliki partisi yang terpisah adalah logis dan saya tidak melihat mengapa semua itu harus terjadi./data
partisi yang digabung.This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same parition
. Hanya FYI, itu BUKAN pada setidaknya satu ponsel yang menjalankan Android 4.0 (Pantech Burst), di mana/data
adalah partisi ext4 1GB dan/mnt/sdcard
partisi FAT32 12GB.Memaksa SD eksternal menjauh dari
/mnt/sdcard
tidak memiliki kelebihan teknis, itu adalah cara Google membantu vendor perangkat keras untuk membuat titik diferensiasi untuk ponsel dengan memori internal yang lebih banyak.Tidak ada alasan mengapa aplikasi harus menemukan cara untuk menemukan kartu eksternal ketika
/mnt/sdcard
jelas tempat kartu itu seharusnya dan cara Google yang tidak ditentukan untuk memuat kartu SD eksternal adalah plot yang kurang ramah konsumen untuk membuat kartu SD eksternal kurang berguna dalam perangkat Android yang lebih baru. Tidak ada alasan mengapa/data
dan/mnt/sdcard
harus digabung ke dalam partisi yang sama pada versi Android yang lebih baru kecuali bagi produsen untuk membedakan ponsel dengan memori internal yang lebih besar dari unit biaya lebih rendah dengan memori internal yang lebih sedikit. Bahkan jika penggabungan harus dilakukan, Google dapat dengan jelas mendefinisikan STANDARtitik pemasangan baru untuk kartu SD eksternal bukannya meninggalkannya sepenuhnya kabur. Ini sepenuhnya bekerja untuk mencegah "segmentasi" lebih lanjut dari sistem-ekologi Android dengan desain yang canggung untuk membantu diferensiasi vendor ponsel kelas atas terhadap unit berbiaya lebih rendah dengan memori built-in yang lebih sedikit.Biner aplikasi Android berukuran kecil, ponsel dengan 1-2 Gigs memori internal seharusnya memiliki ruang lebih dari cukup untuk ratusan aplikasi, dan semua data besar dapat dengan aman terselip di kartu SD eksternal. Tetapi kemudian vendor menyadari bahwa mereka harus memiliki cara untuk membedakan produk akhir mereka yang lebih tinggi, dan mengklaim memori internal yang lebih tinggi menjadi bagian dari skema itu dan melumpuhkan kegunaan memori eksternal adalah bagian terintegrasi lainnya yang diperlukan skema ini agar ini berfungsi sepenuhnya sehingga API yang kurang membantu untuk menemukan kartu sd eksternal dan titik pemasangan yang tidak standar.
Jadi: Tidak, memasang kartu SD di tempat selain
/mnt/sdcard
tidak lain adalah strategi bisnis untuk menjual ponsel baru dengan harga lebih tinggi di bawah versi Android yang lebih baru, tidak lebih dari itu. Bayangkan saja, jika Nexus 4 8GB dan Nexus 16GB keduanya dapat menggunakan 64GB kartu sd eksternal untuk aplikasi dan media, apakah ada alasan bagi siapa pun untuk membeli versi 16 GB? Memori NAND 8 GB tambahan itu tidak berarti tidak bernilai perbedaan harga $ 50 jika kartu SD eksternal terlibat. Karena sebagian besar komponen dalam ponsel pintar harus hampir sama (RAM, prosesor, radio), satu-satunya area yang tersisa untuk margin laba lebih banyak adalah ruang memori internal, dan karenanya titik pemasangan memry eksternal yang aneh.Juga apakah semua orang juga memperhatikan tidak adanya dukungan SD eksternal dari perangkat Android "Google" sekarang? Tren ini akan terus berkembang di perangkat Android "papan atas". Dukungan kartu SD eksternal adalah diferensiasi kunci untuk perangkat Android untuk mengambil alih dominasi iPhone di pasar ponsel. Sekarang dengan putusan Android tertinggi di permainan angka, ada sedikit kebutuhan untuk praktik pengisapan laba ini untuk dipertahankan lebih lama.
Saya tidak akan terkejut dengan Android 5.0, dukungan kartu SD eksternal akan menjadi sesuatu dari masa lalu. Karena jika sulit untuk aplikasi untuk menemukan kartu SD eksternal, maka sebagian besar program hanya akan menggunakan yang diketahui
/data
dan/mnt/sdcard
lokasi, dengan sebagian besar aplikasi menggunakan lebih banyak dan lebih banyak data yang disimpan untuk operasinya, strategi peningkatan produk yang dinamis dibuat dari "udara tipis" "hanya dengan tidak memasang kartu SD eksternal di/mnt/sdcard
.sumber
/data
dan/mnt/sdcard
", karena saya jelas melihat alasannya: Menghindari fragmentasi penyimpanan internal./sdcard/external_sd
pada LG P880), mencadangkan "penyimpanan bersama" mencakup keduanya , dan membuat arsip besar. Tidak ada cara untuk mencadangkan SD internal hanya dengan pendekatan yang mudah. Itu tidak masuk akal, karena ada banyak cara yang lebih mudah untuk membuat cadangan kartu eksternal. Fakta yang membuat saya gila, karena saya memiliki perangkat yang disebutkan ...Anda harus mengetahui (jika di-root) Anda dapat masuk ke /system/etc/vold.fstab dan menukar mount poin untuk / sdcard dan /mnt/external_sd .... ini akan memungkinkan sdcard Anda berada di / sdcard seperti yang Anda harapkan dan "penyimpanan internal" yang tersisa akan dipasang di / mnt / external_sd atau jika Anda lebih suka / sdcard / external_sd /
sumber