/** 清除数据库中暂存的缩略图信息及对应的缩略图文件,需要在每次退出程序前清除过时的信息,只保留MaxThumbnailNum个缩略图信息, 防止暂存区不断扩大 */ public void clearThumbnailData() { final int ORIG_PATH_COLUMN = 0; final int THUMB_PATH_COLUMN = 1; final int CREATE_TIME = 2; String[] columns = { ImageDatabase.ORIG_PATH, ImageDatabase.THUMB_PATH, ImageDatabase.CREATE_TIME }; String sort = ImageDatabase.CREATE_TIME + " DESC"; // 按降序整理查询的结果 Cursor c = imageDB.query(columns, null, null, sort); int i = 0; if (c != null) { try { while (c.moveToNext()) { i++; // 删除第MaxThumbnailNum以后个图片及其信息 if (i > MaxThumbnailNum) { String thumbPath = c.getString(THUMB_PATH_COLUMN); String origPath = c.getString(ORIG_PATH_COLUMN); File file = new File(thumbPath); try { if (file.delete()) { imageDB.delete(origPath); } } catch (SecurityException e) { } } } } finally { c.close(); c = null; } } else { Log.d(TAG, "cursor is null"); } }