OpenGL のキャッシュ?

Android 4.0.4 で、アプリを作ってたら、

気づかないうちに、以下のようにアプリで普通には消せないファイルが存在する。


/data/data/アプリケーションパッケージ/cache/com.android.opengl.sharders_cache

これは、ActivityonCreate で、ハードウェアアクセラレータを有効にすると、作成される。
 http://blog.zaq.ne.jp/oboe2uran/article/665/

無理やり消すのは、java.io.FilesetWritable(true,false) を実行してから、delete を実行する。

しかし、 setWritable は、Android 2.3 以上でないと使うことができないので、
Android 2.2 から、4.x まで対応するアプリは注意が必要だ。

それでも、このキャッシュファイルは残っており、
Android 「設定」→アプリの情報を参照すると、12KB 残っている。

これは、削除してもOpenGLの方から再度作成されてしまうため。
このタイミングは良く分かってないが、アプリを終了させるときに、
  /data/data/アプリケーションパッケージ/cache/
ディレクトリを削除してしまえば、設定画面で、キャッシュファイル 0 KB にはなるが、

E/libEGL(3151): error creating cache file /data/data/xxxxxxx/cache/com.android.opengl.shaders_cache: No such file or directory (2)


というログを出すことになる。