【问题标题】:Uninitialized variables in Android 2d Gallery source codeAndroid 2d Gallery 源代码中的未初始化变量
【发布时间】:2011-05-24 19:38:09
【问题描述】:

我在浏览android源代码时偶然发现了这里:
https://android.googlesource.com/platform/packages/apps/Gallery/+/master/src/com/android/camera/CropImage.java

CropImage.java 文件在第 740 行、第 741 行等处似乎有一些未初始化的变量。我说的是 mLeft、mRight、mTop 和 mBottom 变量。

它们似乎没有在类中的任何地方声明。

我在这里错过了什么吗?代码如何编译出现这些错误?

【问题讨论】:

  • 只看代码也找不到。您是否尝试过仅下载项目并在 Eclipse 中查看整个内容?我最好的猜测是它是一个全局变量。(为什么有人会这样做 IDK ......哈哈)但我会说下载整个东西并编译它(如果你还没有。)然后搜索它并告诉我任何其他信息。
  • 好建议让我尝试编译这个东西
  • +2 NP。这对我也有帮助。对源代码进行所有敏感的感觉很有趣。那么判决结果如何?
  • 不,它不符合android sdk,它使用许多内部隐藏的api调用,如Bitmap.inNativeAlloc等,所以问题不仅仅是未初始化的变量

标签: android 2d gallery android-source


【解决方案1】:

它们在父类中初始化。

【讨论】:

  • 哪个家长?因为我没有在 ImageViewTouchBase 中看到它,也没有在 ImageView 或 View 中看到它?我自己是 Android 场景的新手,所以如果这是一个愚蠢的错误,请提供链接或其他内容。我确实看到了 getLeft() 和 getRight(),但没有看到 mLeft 和 mRight 的声明位置。
  • 完全正确!! .我也没有看到他们在任何地方宣布。任何人都可以指导我们确切地知道他们在哪里(只是出于好奇)
  • 它在 android.view.View 的 setFrame() 方法中初始化,根据文档在布局期间调用该方法。可能只是没有不调用 setFrame() 的实例。不在 IDE 中查看此内容,很难以纯文本形式跟踪所有引用。
  • 你的意思是developer.android.com/reference/android/view/View.html。我似乎仍然找不到它。
【解决方案2】:

它们是父类(视图)的受保护成员。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    相关资源
    最近更新 更多