CursorAdapter를 사용하여 일부 데이터를 표시하는 ListActivity가 있습니다. 이 데이터는 웹 서비스 호출의 결과입니다.데이터베이스 쓰기 속도 향상
org.json. * 라이브러리를 사용하여 웹 서비스 호출의 응답을 받고 구문 분석 한 다음 응용 프로그램의 SQLite3 데이터베이스에 결과를 기록합니다. 그러면 ListActivity의 커서가 다시 쿼리되고 데이터가 목록에 표시됩니다.
제 문제는 데이터베이스 쓰기가 너무 느립니다. 내가 할 수있는 유일한 생각은 CursorAdapter를 사용하지 않고이 데이터를 메모리에 보관하는 것입니다. 나는 누군가가 속력을 높이기위한 또 다른 제안을하기를 바랬다. 아마도 일종의 대량 삽입물일까요?
내 삽입 작업을하기 위해 ContentProvider를 사용하고 있습니다. 그래서 getContentResolver(). insert (...)를 호출합니다.
시간 응답 : 178ms
JSON 분석 시간 : 쓰기 16ms
시간 여기
는 LAN을 통해 데이터의 56 행에서 검색하고이를 표시 시험에서 몇 배 데이터베이스에 56 행 : 5714ms이 데이터 양에 대해 데이터베이스 쓰기 시간이 궁극적으로 1000ms 미만일 것입니다.
코드를보고 싶습니다.이 코드는 매우 느립니다. –
트랜잭션을 사용하여 블록으로 데이터를 DB에 씁니까? – thaussma
getContentResolver(). (...)에서 getContentResolver(). bulkInsert (...)로 변경된 ContentProvider – Andrew