2014-01-15 1 views
2

Престол в мастере:Mutable android.os.Environment.DIRECTORY_WHATEVER?

https://github.com/android/platform_frameworks_base/blob/master/core/java/android/os/Environment.java#L419

Почему это изменяемый? Что это значит? Какой прецедент?

+1

Они не смогли добавить 'final', или в случае, если это предназначено, чтобы позволить этим значениям отличаться на других устройствах. Фактические константы компилируются в ваше приложение и не допускают этого. – zapl

+0

@zapl, спасибо! –

ответ

2

Если они были final, они могли быть встроены во время компиляции, основываясь на определениях в stub android.jar в SDK.

Теперь производители устройств могут свободно изменять пути к тому, что они хотят. Сделав определения не final, будет определено, что вместо этого используется определение на платформе времени выполнения.

Есть также other methods для предотвращения встраивания.

+0

Полностью ясно, спасибо. <3 –

 Смежные вопросы

  • Нет связанных вопросов^_^