2014-01-15 4 views
2

참조 : 변경 가능 android.os.Environment.DIRECTORY_WHATEVER? 마스터에서

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

왜 이러한 변경할 수 있습니까? 무슨 뜻이에요? 유스 케이스 란 무엇입니까?

+1

그들은 '최종'을 추가하지 못했습니다. 또는 의도적 인 경우 다른 장치에서 그 값이 다를 수 있습니다. 실제 상수는 앱에 컴파일되어 허용되지 않습니다. – zapl

+0

@zapl, 감사합니다! –

답변

2

final 인 경우 SDK의 스텁 android.jar에있는 정의에 따라 컴파일 할 때 인라인 될 수 있습니다.

이제 장치 제조업체는 자유롭게 원하는대로 경로를 변경할 수 있습니다. 정의를 final으로 지정하면 런타임 플랫폼의 정의가 대신 사용됩니다.

또한 인라이닝을 방지하기 위해 other methods이 있습니다.

+0

완전히 삭제되었습니다. 고맙습니다. <3 –