我需要从一开始就关注 Android IO 调用,直到接近硬件层。
- 我需要的实际上是一个很好的链接到负责任的来源,就像下面的例子一样,所以一个人可以很容易地跟随。
这与没有汇编问题的 StackOverflow 不知名的C/C++ 函数定义非常相似。
让我们看一个例子:
FileOutputStream fos = OpenFileOutput(„filename”, Contex.MODE_PRIVATE)
fos.write(somemeaninglessstring.getBytes());
假设我们对写更感兴趣,但想先遍历打开文件的几个步骤。我们从/frameworks/base/core/java/android/content/Context.java + ContextWrapper.java开始,看看我们有
@Override
public FileInputStream openFileInput(String name)
好的。所以继续前进到/frameworks/base/core/java/android/app/ContextImpl.java:705/那里我们有 java.io.FileOutputStream.write(),接下来 - 它是基类 java.io.OutputStream.write()
public void write(byte[] buffer) throws IOException {
write(buffer, 0, buffer.length);
}
...这就是我卡住的地方。
java.io.* 是顶级包,OutputStream 仅在 Object 之后继承,所以 -如何找到好的算法来检查 JVM 在 java.io.OutputStream 中对 write() 做了什么?
- 我还想知道,如果我需要重复这个过程,是否有任何与 ctags 类似的东西可以加快过程,最好不需要将整个分支导入 Eclipse 等等。