Следует ли писать window.X при ссылке на встроенное глобальное свойство X в (настольном) браузере?

Итак, в браузере (настольного компьютера) есть десятки встроенных глобальных свойств. Например:

  • документ
  • undefined
  • parseInt
  • JSON
  • местоположение
  • предупреждение
  • setTimout
  • и т. Д.

При обращении к этим свойствам следует явно их отметить в качестве глобальных свойств, добавив к их имени префикс window. ? Так, например:

var wrap = window.document.getElementById('wrap');

и

window.setTimeout(loop, 100);

и

var x = window.parseInt(input.value, 10);

Я думаю, есть три ответа на этот вопрос:

  1. Да, вы всегда должны писать window.X , когда ссылаетесь на глобальные свойства.

  2. Нет, вам не нужно писать window.X . Просто X в порядке.

  3. Это зависит от свойства. Для некоторых свойств используйте window.X , для некоторых других свойств используйте X . По сути, это что-то вроде ScrollView -> RelativeLayout -> RelativeLayout -> MapView <...

    Я пытаюсь создать MapView (в настоящее время без каких-либо наложений) внутри некоторых вложенных элементов. По сути, это что-то вроде ScrollView -> RelativeLayout -> RelativeLayout -> MapView

     <com.google.android.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="420px"
    android:layout_height="300px"
    android:clickable="false"
    android:apiKey="key"/>
    

    Мне кажется, это нормально. Я больше ничего не делаю с ним при запуске, но всегда вызывает следующее:

    04-04 13:38:33.910: WARN/dalvikvm(13628): threadid=1: thread exiting with uncaught exception (group=0x40015560)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628): FATAL EXCEPTION: main
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628): java.lang.OutOfMemoryError
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android_maps_conflict_avoidance.com.google.googlenav.map.Map.resize(Map.java:1368)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android_maps_conflict_avoidance.com.google.googlenav.map.Map.resize(Map.java:1337)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at com.google.android.maps.MapView.onMeasure(MapView.java:590)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.View.measure(View.java:8313)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.View.measure(View.java:8313)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.View.measure(View.java:8313)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1072)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.ScrollView.onMeasure(ScrollView.java:296)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.View.measure(View.java:8313)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.View.measure(View.java:8313)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.View.measure(View.java:8313)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.View.measure(View.java:8313)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.ViewRoot.performTraversals(ViewRoot.java:839)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.os.Handler.dispatchMessage(Handler.java:99)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.os.Looper.loop(Looper.java:123)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at android.app.ActivityThread.main(ActivityThread.java:3647)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at java.lang.reflect.Method.invokeNative(Native Method)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at java.lang.reflect.Method.invoke(Method.java:507)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    04-04 13:38:33.996: ERROR/AndroidRuntime(13628):     at dalvik.system.NativeStart.main(Native Method)
    04-04 13:38:34.027: WARN/ActivityManager(6000):   Force finishing activity package/.home
    04-04 13:38:34.527: WARN/ActivityManager(6000): Activity pause timeout for HistoryRecord{405336d0 package/.home}
    

    Вы хоть представляете, почему это так и что я могу сделать, чтобы от него избавиться? Я не могу убрать его из этого представления, так как это именно то место, где он мне нужен.

    Спасибо!

8
задан ShadowMare 4 April 2011 в 11:41
поделиться