2011年09月15日
高負荷で落ちるねぇ
さてさてSQLiteのダンプ取込みをJNIで組みましたぁ
まあ、シンプルな構造です
小さなダンプだと問題ありませんw
ただ。。。
レコード数が多いと以下のログを吐出します。。。
----------------------------------------
09-15 08:53:04.163: INFO/ActivityManager(59): Low Memory: No more background processes.
09-15 08:53:08.922: INFO/ActivityManager(59): Process jp.co.omronsoft.openwnn (pid 1080) has died.
09-15 08:53:08.942: WARN/ActivityManager(59): Scheduling restart of crashed service jp.co.omronsoft.openwnn/.OpenWnnJAJP in 5000ms
09-15 08:53:08.942: INFO/ActivityManager(59): Low Memory: No more background processes.
09-15 08:53:11.753: INFO/ActivityManager(59): Process jp.or.test02a (pid 1362) has died.
09-15 08:53:11.913: INFO/ActivityManager(59): Start proc com.android.launcher for activity com.android.launcher/com.android.launcher2.Launcher: pid=1535 uid=10025 gids={}
09-15 08:53:11.913: INFO/ActivityManager(59): Low Memory: No more background processes.
----------------------------------------
そう「Low Memory: No more background processes.」
悲鳴を上げてますね(^^;)
トランザクションでメモリー食ってるのかなぁ
また調べモノがぁ増えたぁ
一応、繰返しロジックはこんな感じ
sqlite3 *db;
int rc = sqlite3_open("/sdcard/cmkdata/test_3.DB", &db);
sqlite3_stmt *st;
strcpy(fs1,"");
while ( fgets(fs,n,fp)!= NULL){
ct++;
strcat( fs1, fs );
ret = strrchr( fs1,';');
if(ret != NULL){
if((strlen( fs1 ) - 2) == (ret - fs1)){
rc = sqlite3_prepare(db, fs1, -1, &st, NULL);
rc = sqlite3_step(st);
strcpy(fs1,"");
}
}
}
sprintf(pszRet,"%ld",ct);
sqlite3_finalize(st);
sqlite3_close(db);
シンプルすぎるのかなぁwww
投稿者:秀at 18:49| さんでープログラム(Android編) | コメント(0) | トラックバック(0)