Is there a technical reason for why apps that only need their own data are not limited to one folder? I do realise that some apps use other apps' data, but I'd be much more likely to install an app that only asked for permission to store files in one, specific folder.
|
There are different mechanisms to store data in an Android application that don't need the SD card access permission. You can create databases, store application parameters, create files on the internal storage. All these will not require any specific permissions and these data are accessible only by the application that created them. On the other side, if an application needs the SD card permission it may be because it as a very large amount of data to store or that it wants to modify/add/remove files such as in a file manager. But for important application specific data, the SD card if not recommended because it could be removed at anytime (or mounted as a USB drive) and not available to the applications. I think a lot of applications that ask SD access permission could use another type of data storage that would not require that. Moreover, files created on the SD by an app will not be removed upon un-installation of the app but all other types of internal data storage will be. So to me it would be a better development practice not to use the SD if not required, and as you mentioned it would not scare people away like apps that access the whole SD. |
|||
|
|
|
SD cards generally use the FAT file system, which does not allow for filesystem permissions. This means that the Android OS would have to manage a custom list of files, their permissions, a mapping of apps to files/folders, etc. in order to prevent apps from accessing the whole card. This would be a terrible mess. Not only complicated, but it would require a lot of storage space. And then one day you take out your SD card and remove some pictures, and the entire system breaks. You get the idea. |
|||||||||||
|
