一旦将sqlite数据库复制到data / data / packagename / database文件夹,我就有7mb应用程序消耗25mb。这在我的节俭模拟器上太大了,可能会冒犯用户。
有没有办法将sqlite db直接放到SD卡上?还是整个app等?要求用户在安装后强迫它穿过它似乎太晚了,我不能自己主持dayabase。
答案 0 :(得分:1)
有没有办法将sqlite db直接放到SD卡上?
你可以制作一个mod SQLiteAssetHelper
来处理这个问题。默认情况下,它会将数据库放在内部存储上的正常位置。不幸的是,现在,它需要一些非平凡的手术才能做出这种改变,尽管我刚刚提交了a feature request来使这更容易。
或整个app等?
你可以use android:installLocation="preferExternal"
,但可能不会受到尊重。而且,这不会影响您的数据库 - getFilesDir()
,getDatabaseDir()
和亲属始终在内部存储空间。
另请注意,这只是Android 1.x / 2.x设备的问题。比这更新的东西应该考虑将内部和外部存储放在一个分区上,这样它们就可以共享空间。