Perubahan Scoped Storage di Android Q sangat memusingkan untuk dihadapi, karena Storage Access Framework saat ini memiliki beberapa kekurangan.
Android Q secara mendasar mengubah cara kerja penyimpanan di ponsel Anda. Di setiap versi hingga Pie, penyimpanan Android berfungsi seperti komputer desktop: Anda dapat menggunakan aplikasi apa pun yang ingin Anda baca atau tulis file apa pun (jika Anda memberikan izin aplikasi untuk melakukannya). Dengan Q, Google memperkenalkan (dan mewajibkan) "Penyimpanan Tercakup," yang menjadikan Android berfungsi seperti iPhone, yang penyimpanannya diisolasi untuk setiap aplikasi. Suatu aplikasi hanya dapat mengakses filenya sendiri, dan jika aplikasi tersebut di-uninstal, semua filenya akan dihapus.
Untungnya Android Q masih mempertahankan beberapa perilaku asli Android pada sistem file pusat. Sayangnya, kini menjadi sulit bagi pengguna untuk menyiapkan aplikasi untuk mengaksesnya dan telah mengurangi kinerja dan kemampuan secara signifikan. Dan pengembang harus mengkode ulang aplikasi secara signifikan untuk mendukungnya.
Aplikasi yang memerlukan akses sistem file umum, mis. office suite, editor gambar, atau pengelola file, kini perlu menggunakan API Android yang disebut "Kerangka Akses Penyimpanan" (SAF), untuk semua operasi file. SAF telah tersedia sejak Android 5.0 Lollipop, namun pengembang cenderung tidak menggunakannya kecuali diperlukan, karena memiliki kesulitan dan kualitas yang buruk. API yang terdokumentasi, pengalaman pengguna yang buruk, kinerja yang buruk, dan keandalan yang buruk (sebagian besar dalam bentuk implementasi khusus vendor perangkat masalah). Akibat kesulitan dalam transisi ke SAF, Google memutuskan untuk mengizinkan aplikasi yang belum menunjukkannya Dukungan Android Q berfungsi seperti dulu, tetapi hal ini akan berubah ketika Play Store mengharuskan semua aplikasi mendukung Q tahun depan.
Perubahan paling nyata yang dihadapi pengguna dengan SAF adalah pengalaman memberikan akses aplikasi ke penyimpanan. Agar aplikasi mendapatkan akses, aplikasi membuat permintaan ke OS, yang kemudian menampilkan layar pemilih direktori. Pada layar ini pengguna memilih akar hierarki folder tempat aplikasi tersebut dapat membaca dan menulis file. Pengguna harus melalui proses ini untuk setiap aplikasi yang memerlukan akses ke file lokal, atau dua kali per aplikasi jika mereka juga perlu memberikan akses ke kartu SD eksternal.
Google setidaknya meningkatkan proses ini Q beta 3, karena beta sebelumnya tidak mengizinkan aplikasi untuk menyarankan lokasi yang dapat dipilih pengguna mengharuskan pengguna untuk melakukan cukup banyak pekerjaan untuk benar-benar menemukan penyimpanan utama perangkat mereka.
Performa I/O file agak terpukul pada SAF, namun masalah yang paling menonjol terletak pada file operasi direktori, yang ~25 hingga 50 kali lebih lambat dibandingkan akses file konvensional Pai. Dalam kasus pengelola file, hal ini berarti diperlukan waktu lebih lama untuk melakukan pencarian dan penghitungan penggunaan penyimpanan. Laporan bug dengan aplikasi demonstrasi adalah Tersedia disini.
Masalah kinerja yang lebih besar lagi adalah beberapa aplikasi harus menyalin file ke area "penyimpanan terbatas" lokalnya sebelum dapat digunakan. Ini bisa menjadi masalah jika file tersebut berukuran beberapa gigabyte, misalnya. dalam hal file video atau arsip terkompresi. Banyak aplikasi Android yang memanfaatkan banyaknya pustaka Java sumber terbuka di komunitas pengembang, dan pustaka ini biasanya memerlukan akses sistem file langsung agar dapat berfungsi. Mereka tidak spesifik untuk Android dan memerlukan penulisan ulang agar dapat berfungsi dengan SAF. Lebih buruk lagi, banyak perpustakaan internal Android tidak dapat berfungsi dengannya, seperti manajer paket atau API zip. Misalnya, pengelola file bahkan tidak akan dapat menampilkan ikon untuk file APK (menggunakan API Android standar) tanpa terlebih dahulu menyalin seluruh APK ke area penyimpanannya sendiri. Laporan bug.
Bagi orang-orang yang memiliki kecenderungan teknis, saat ini dimungkinkan untuk menonaktifkan "Penyimpanan Tercakup" Android Q berdasarkan aplikasi melalui ADB menggunakan perintah appops. Pengguna root dapat menjalankan perintah langsung di perangkat mereka tanpa komputer desktop. Perintah tersebut dijelaskan dalam dokumentasi sebagai fitur pengembang dan karenanya dapat dihapus kapan saja.
Aktifkan akses penyimpanan umum untuk suatu aplikasi:
adb shell cmd appops set your-package-name android: legacy_storage allow && \adb shell am force-stop your-package-name
Nonaktifkan akses penyimpanan umum untuk suatu aplikasi:
adb shell cmd appops set your-package-name android: legacy_storage default && \adb shell am force-stop your-package-name
Google memuji manfaat keamanan dan privasi dari perubahan ini, namun secara teknis, tidak ada perbaikan. Aplikasi memiliki kemampuan untuk menyimpan file secara pribadi sejak Android 1.0, dan hampir semua aplikasi memanfaatkan kemampuan ini. Saat Anda memberikan akses aplikasi ke direktori akar penyimpanan Anda melalui SAF, aplikasi tersebut dapat membaca, menulis, dan mengirim file apa pun ke dalamnya. ingin pengembang jahatnya dengan cara yang sama seperti saat Anda memberikan akses aplikasi ke penyimpanan di Pie.
Satu-satunya "peningkatan keamanan" terjadi karena sekarang merupakan proses yang lebih sulit bagi pengguna untuk melakukan hal ini. Kecuali tentu saja suatu aplikasi hanya ingin mencuri informasi paling pribadi Anda, seperti foto dan video yang Anda miliki diambil, dan Google telah menambahkan solusi akses alternatif yang menggunakan keamanan pop-up klik-ya sederhana dialog.
Tidak diketahui manfaat apa yang ingin dicapai Google dengan perubahan ini. Alasan resmi yang dinyatakan dalam dokumentasi Android Q beta adalah untuk “memberi pengguna kontrol lebih besar atas file mereka dan membatasi file kekacauan." Penyimpanan terbatas, dalam bentuknya yang sekarang, adalah batasan baru mengenai apa yang boleh dilakukan pengguna, bukan perpanjangan dari batasan tersebut kontrol. Klaim mengurangi kekacauan mungkin valid, tetapi hanya karena perubahan tersebut mengurangi kemampuan untuk menggunakan file sama sekali. Dan “kekacauan” semakin meningkat ketika Anda mempertimbangkan masalah beberapa aplikasi yang sekarang harus menduplikasi file agar dapat bekerja dengannya.
Jika Google benar-benar ingin memberikan kontrol lebih besar kepada pengguna atas file dan kekacauan, mereka harus merancang a solusi yang secara langsung mengatasi hal tersebut, daripada memberi label palsu pada desain Android Q saat ini peningkatan. Jawaban paling sederhana adalah membiarkan pengguna memutuskan apakah mereka ingin aplikasi memiliki akses sistem file tercakup atau umum, menggunakan dialog permintaan izin penyimpanan yang masih ada. Jika ada kekhawatiran khusus bagi pengguna yang membuat keputusan buruk di sini, hal ini tentu saja mungkin terjadi membuat dialog tersebut lebih menonjol dan memerlukan interaksi pengguna tambahan untuk menyetujui aplikasi secara penuh mengakses.
Jawaban atas bagaimana Android dapat memberikan kontrol lebih besar kepada pengguna atas file mereka adalah dengan memberikan kontrol lebih besar kepada pengguna, bukan menghilangkannya dan secara mendasar membatasi kemampuan platform Android.
Catatan Editor: Ini adalah artikel tamu yang ditulis oleh Anggota Senior XDA tliebeck, terkenal karena karyanya Penjelajah File FX. Isi artikel ini mencerminkan opini dan analisisnya sendiri mengenai pembatasan Scoped Storage Android Q, dengan masukan dan pengeditan minimal dari Mishaal Rahman, Pemimpin Redaksi XDA-Developers. Kami menghubungi Google untuk bertanya kepada mereka tentang beberapa kekhawatiran ini tetapi belum mendapat tanggapan dari perusahaan hingga saat publikasi.