ANDROID.UF.MEDIAPLAYER

UF (Use Freed) 指摘は、リソースが解放された後にリソースを使用する試みがある場合に報告されます。ANDROID.UF.MEDIAPLAYER 警告は、MediaPlayer が解放された後に MediaPlayer の使用を試みていることを示します。

例 1

コピー
     public boolean onKeyDown(final int keyCode, final KeyEvent event) {
         if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
             MediaPlayer mp = new MediaPlayer();
             try {
                 mp.setDataSource(PATH_TO_FILE);
                 mp.prepare();
             } catch (IOException e) {
                 mp.release();
             }
             mp.start();
             mp.release();
             return true;
         }
         return super.onKeyDown(keyCode, event);
     }

IOException の場合に解放 (33 行目) される「mp」を使用する試みがあるため、ANDROID.UF.MEDIAPLAYER が 35 行目のスニペットに対して報告されます。

拡張機能

このチェッカーは、Klocwork knowledge base (ナレッジベース) を利用して拡張できます。詳細については、Java 解析のチューニングを参照してください。