在某些情况下,我创建一个EditText,将值传递给另一个Fragment,然后在EditText所属的ViewGroup上调用removeAllViews来删除EditText。
问题是与 EditText 关联的 InputConnectionWrapper 仍在占用内存。
在上面的 Heap Dump 中,InputConnectionWrapper 分配了 300 多个,并且占用了相当多的内存。
但是开启Heap Dump后,Activity中只有一个EditText,由于对应的EditText,判断InputConnectionWrapper没有创建。
要关闭 InputConnectionWrapper,我尝试了以下功能。
TextKeyListener.clear(editText.getText());
editText.setHint(null);
editText.removeTextChangedListener(this);
editText=null;
// The ViewGroup will then execute removeAllViews.
但是, InputConnectionWrapper 似乎随着时间的推移分配得更多,因为它尚未最终确定。
InputConnectionWrapper 不会最终确定的原因是什么?