1

1 か月以上使用されていないすべての画像ファイルを削除するソフトウェアのパージ機能を作成しています。これを行うために、次の 2 つのことを確認しています。

  1. ファイルの最終変更日
  2. 最近表示したファイルを表示するデータベースのクエリ。

クエリは、ファイル チェックよりもはるかに低速です。したがって、理想的には、最初のチェックに失敗したが2番目のチェックに合格したファイルの最終更新日をリセットできるようにしたいと考えています.管理システムの負荷。

各ファイルの名前を一時的なラベルに変更してから、それ自体に変更するなど、粗雑な(そしておそらくさらに遅い)ものに頼らずにこれを行う方法はありますか?

4

2 に答える 2

5

Nik が言ったように、Android ファイル システムのどこにいるかによってはsetLastModified()、クラスのメソッドが常に機能するとは限りません。FileSD カードの場合、一部のデバイスはその呼び出しから false を返すため、日付を変更しません。

ここにそれについての詳細があります:

http://code.google.com/p/android/issues/detail?id=1992

http://code.google.com/p/android/issues/detail?id=1699

さらに、ここにいくつかの他のスタックオーバーフロースレッドがあります:

file.lastModified() は、file.setLastModified() で設定されたものではありません

于 2012-10-05T14:20:33.247 に答える
0

setLastModified()この値を更新するために使用できるJavaFileオブジェクトの標準メソッドです。

SDK ドキュメント

于 2011-11-17T14:58:34.463 に答える