アプリを実行せずに判断できる、未使用メソッドを削除します。
例えば、 呼び出されることがない private メソッドは削除されますが、Object クラスのメソッドをオーバーライドするメソッドは削除されません。
アプリを実行せずに判断できる、未使用のクラスを削除します。
インターフェースを実装するクラスが 1 つしかない場合や、インターフェースによるメソッドの呼び出しがない場合、インターフェースを削除します。