いくつかの既存の SQLite3 DB への読み取り専用アクセスを使用するアプリを出荷する必要があります。それぞれが 100 MB のカップルであり、結合サイズの合計が 1 GB を超えています。データベースは Mac で作成され、現在出荷中の iOS アプリで使用されています。私はJavaにはかなり精通していますが、Androidは初めてです。
これは、次の疑問につながります。
1) データベースを変更する必要がありますか? SQLiteDatabase::rawQuery クエリでのみ使用する予定なので、バインドとメタデータは必要ありません。
2)DBが読み取り専用としてのみ使用される場合でも、最初の起動時にアプリバンドルからコピーするか、ユーザーディレクトリにダウンロードする必要があるのは本当に正しいですか?
3) クエリが遅くなる可能性があります。それらをスレッドで実行し、コールバックを介してデータを提供したいと考えています。これは、通常の Java (Runnable/Thread) で行われる方法ですか、それとも別の方法を使用する必要がありますか?
4) 私が明らかに見逃している Android 人にとって明らかなことは他にありますか?