当使用WindowManager 的addView添加界面时,
在释放时,需要调用removeView,否则会出现
has leaked window android.widget.TextView that was originally added 内在泄露错误
如下示例
private WindowManager mWindowManager ;
private TextView mDialogText ;
public void onCreate(Bundle savedInstanceState) {
TextView mDialogText = (TextView) LayoutInflater.from(this).inflate(R.layout.device_list_position, null);
WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
mWindowManager.addView(mDialogText, lp);
indexBar.setTextView(mDialogText);
}
public void onDestroy(Bundle savedInstanceState) {
mWindowManager.removeView(mDialogText);
}