在Fragment
的源码中,有一个字段叫做mActivity
:
package android.app;
public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListener {
// Activity this fragment is attached to.
Activity mActivity;
为了找到这个字段写在哪里,我试过如下:
查看了
Fragment
的源码,发现Fragment.initState()
方法中只有一种写法:mActivity = null;
但是
Fragment
使用mActivity
的频率很高,肯定有写字段的地方。mActivity
的访问是默认
,所以可能有其他类会写这个字段。然后我检查了Fragment
类的用法,但没有发现与该字段的写入行为有关。不知道接下来要做什么,可能是Android中的一些特殊进程?
谁能告诉我上面的方法是否正确找到此类问题的答案? 请给我一些关于查找类/字段/方法用法的建议。
最佳答案
不是 Fragment
,而是 FragmentManager
实际上管理 mActivity
字段。因为它不是私有(private)的,所以任何包本地类都可以访问它。
检查 FragmentManager.moveToState()
方法,line 900用于支持 FragmentManager
检查FragmentManager.moveToState()
方法,line 848对于 android.app.FragmentManager
关于android - Fragment.mActivity 字段什么时候写入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40756713/