【发布时间】:2015-01-10 23:09:24
【问题描述】:
我已经阅读了documentation 和有关android memory management 的一般信息,并且imo 有信息溢出。
我想要做的只是将文件放在设备上,稍后我将从application 读取。
当我将设备插入 PC 并选择“打开 USB 存储设备”时,它会在我的 PC 上安装两个新驱动器。一种是带有文件树的外部 SD(xGB) 卡:
drwx------ 2 user user 32768 gru 6 09:38 100ANDRO
drwx------ 2 user user 32768 lis 14 17:15 folder
drwx------ 2 user user 32768 sty 8 00:08 DCIM
drwx------ 2 user user 32768 lis 11 16:47 LOST.DIR
-rw-r--r-- 1 user user 501513 sty 10 21:54 varnish.log
第二个是卷 AFAIK 闪存部分包含:
drwx------ 2 user user 32768 lip 10 2014 100ANDRO
drwx------ 2 user user 32768 lip 10 2012 Alarms
drwx------ 2 user user 32768 gru 6 09:41 Allevents
drwx------ 3 user user 32768 maj 27 2014 Android
drwx------ 2 user user 32768 cze 20 2014 AndroidAssistant_appbackup
drwx------ 2 user user 32768 cze 20 2014 App_Backup_Restore
drwx------ 2 user user 32768 sty 10 21:36 apps_backup
drwx------ 3 user user 32768 sty 9 21:03 Audio
drwx------ 3 user user 32768 cze 20 2014 backups
drwx------ 2 user user 32768 paź 16 01:59 baidu
drwx------ 3 user user 32768 maj 20 2014 BarcodeScanner
drwx------ 2 user user 32768 gru 6 09:40 bluetooth
drwx------ 3 user user 32768 sie 17 11:31 CamelDroid
drwx------ 2 user user 32768 sty 10 21:49 Contact
drwx------ 4 user user 32768 gru 6 09:39 DCIM
drwx------ 2 user user 32768 gru 19 00:02 Document
drwx------ 7 user user 32768 sty 3 08:12 Download
drwx------ 3 user user 32768 sie 4 22:13 gameloft
drwx------ 4 user user 32768 maj 31 2014 gokeyboard
-rw-r--r-- 1 user user 32890 sty 7 21:44 GPS.LOG
drwx------ 2 user user 32768 gru 8 00:52 Ketchapp_SH
drwx------ 7 user user 32768 maj 27 2014 KingsoftOffice
drwx------ 2 user user 32768 mar 3 2014 Reaper
drwx------ 2 user user 32768 gru 6 09:42 LOST.DIR
drwx------ 2 user user 32768 wrz 9 14:08 mapbox_tiles_cache
drwx------ 4 user user 32768 cze 19 2014 mdm
drwx------ 3 user user 32768 lut 14 2014 media
drwx------ 2 user user 32768 lip 10 2012 Movies
drwx------ 2 user user 32768 lip 10 2012 Music
drwx------ 2 user user 32768 gru 18 08:50 Notifications
drwx------ 3 user user 32768 sie 21 17:40 osmdroid
drwx------ 2 user user 32768 gru 19 00:02 Others
drwx------ 2 user user 32768 mar 6 2014 pers
drwx------ 2 user user 32768 gru 19 00:02 Picture
drwx------ 4 user user 32768 lis 25 02:36 Pictures
drwx------ 2 user user 32768 lip 10 2012 Podcasts
drwx------ 2 user user 32768 paź 8 22:43 Ringtones
drwx------ 2 user user 32768 sie 7 17:55 SUSdownload
drwx------ 2 user user 32768 lip 25 07:33 System Volume Information
drwx------ 2 user user 32768 gru 8 00:48 TempImages
drwx------ 3 user user 32768 paź 22 16:22 tmp
drwx------ 2 user user 32768 wrz 24 08:02 TuneIn Radio
-rw-r--r-- 1 user user 501513 sty 10 21:26 varnish.log
drwx------ 2 user user 32768 gru 19 00:02 Video
drwx------ 4 user user 32768 paź 22 16:29 VoiceChangerWE
drwx------ 2 user user 32768 lip 7 2014 well
其中只有:
drwx------ 3 user user 32768 maj 27 2014 Android
目录似乎包含一些应用程序,其中的包名称如下:
...
drwx------ 3 user user 32768 sty 3 08:13 com.adobe.reader
drwx------ 3 user user 32768 gru 16 07:55 com.android.browser
drwx------ 3 user user 32768 mar 3 2014 com.android.gallery3d
drwx------ 3 user user 32768 mar 3 2014 com.android.providers.media
drwx------ 3 user user 32768 sie 15 23:07 com.android.vending
drwx------ 2 user user 32768 cze 22 2014 com.bluemonbr
...
但不幸的是,即使我在清单中为 preferExternal 或 internalOnly 设置 installLocation,我也无法在此处找到从 eclipse 安装的应用程序。
最好将此文件放在与 apk 相同的目录下,但如果不可能,我会将其放在任何地方进行测试。
问题是如何1访问这个文件如果我把文件放在前面提到的两个记忆之一中。
最近尝试了返回不同值的不同选项(在评论中):
Environment.getDataDirectory(); // /data
Environment.getDownloadCacheDirectory(); // /cache
Environment.getExternalStorageDirectory(); // /storage/sdcard0
Environment.getExternalStorageState(); // mounted
Environment.getRootDirectory(); // /system
getExternalCacheDir(); // /storage/sdcard0/Android/data/com.schibsted/cache
getCacheDir(); // /data/data/com.schibsted/cache
getCallingPackage(); // null
getFilesDir(); // /data/data/com.schibsted/files
这些路径与 PC 浏览器中显示的路径相比看起来很奇怪。
问候
【问题讨论】:
标签: android linux unix memory memory-management