응용 프로그램이 시작된 후 Generic.xaml
파일에 저장된 Style
파일이로드되는 시점과 이것이 완료된 후 이것이 얼마나 자주 발생하는지 궁금합니다. 즉, 한번만 또는 Control
의 새 객체가 인스턴스화 될 때마다로드됩니까? 또한 얼마나 자주 자원 파일에서 Style
리소스가 실제로 읽혀지고 있습니까?Generic.xaml-styles가 언제로드됩니까?
답변
I.
컨트롤의 새 개체가 인스턴스화 될 때마다 한 번만로드되는 것을 의미합니까?
Style's
, ResourceDictionary
은 프로그램 시작시 한 번만로드됩니다. link에서 인용구 : "컴파일"한다 프로젝트에서 "테마"디렉토리 아래
모든 자원 사전 (이 컴파일 과정이 msbuild를 수행하고 사용자가 작업 건설) BAML 표현으로, 그리고 그 BAML 파일이있을 것입니다 마지막으로 컴파일 된 어셈블리의 리소스 파일로 처리됩니다.
테마 어셈블리의 또 다른 이점은 테마 어셈블리 내의 리소스 사전이 한 번만로드되기 때문에 테마 어셈블리를 사용하여 리소스 전용 또는 공유 리소스 어셈블리를 정의 할 수 있다는 점입니다. 이는 ResourceDictionary보다 훨씬 많은 이점을 제공합니다. MergedDictonaries 메커니즘.
II.
또한 스타일 파일은 실제로 리소스 파일에서 얼마나 자주 읽혀지고 있습니까?
각 Style
, ResourceDictionary
은 BAML 코드로 컴파일되며 이러한 리소스는 어셈블리의 일부입니다. 모든 어셈블리는 JIT 컴파일러 (처음부터)에 의해 메모리에 한 번로드되고 추가 작업은 메모리의 응용 프로그램에 있습니다. 제 말은, 파일이 스타일을 읽을 때마다 응용 프로그램이 JIT 컴파일러의 논리에 따르면, 모든 것이 메타 데이터 형식으로 메모리에 저장되고 이후 처리가 메모리에서 수행되어야한다고 생각하지 않습니다. .
JIT 컴파일러의 작업과 .NET에 관한 내용은 멋진 book 을 Jeffrey Richter
으로 읽을 수 있습니다.
- 1. ValidationSummary는 언제로드됩니까?
- 2. Google지도는 언제로드됩니까?
- 3. iframe의 콘텐츠는 언제로드됩니까?
- 4. 참조 된 어셈블리는 언제로드됩니까?
- 5. jQuery 소스 맵은 언제로드됩니까?
- 6. 로그백 설정 파일은 언제로드됩니까?
- 7. 클래스 변수는 언제로드됩니까?
- 8. ViewPager, 하위 xml 파일은 언제로드됩니까?
- 9. Google Apps Script 가젯 - 언제로드됩니까?
- 10. SQL Server 2008 테이블 값은 언제로드됩니까?
- 11. Apache로드 모듈 시간
- 12. Rails 2.3.5 테이블은 시작시가 아니라 테스트가 끝날 때마다 실행됩니다.
- 13. AJAX 응용 프로그램을 설계 할 때 권장되는 방법
@ user1574054 : 제 편집장을 참조하십시오. 도움이되기를 바랍니다. –