Qual parte do Android é responsável por escolher um perfil de recursos correto?

Tenho um problema estranho.

Antes de você chegar a uma ideia de me atacar, estou trabalhando em um Jelly Bean personalizado. Portanto, as "abordagens boas habituais" podem não funcionar aqui, e soluções alternativas sujas têm que ser feitas.

Eu tenho um APK que contém o seguinte em recursos:

layout
layout-mdpi
layout-land
layout-large-mdpi
layout-large-land-mdpi
layout-large-hdpi
layout-large-xhdpi

E alguns outros códigos de métricas retornaram isso:

D/AppDemo( 2091): measured width: 1920 PE width: 1920 scaleFactor = 1.0
D/AppDemo( 2091): [ANDROID] measured width: 1920 measured height: 1080
D/AppDemo( 2091): [ANDROID] scale for resources: 2.0 xdpi: 320.0 ydpi: 320.0
D/AppDemo( 2091): [ANDROID] screen density: xhdpi
D/AppDemo( 2091): [ANDROID] screen size: large
D/AppDemo( 2091): [ANDROID] using layout: layout-mdpi

Então, olhando para as métricas, porque não élayout-large-xhdpi sendo carregado?

Por favor, me diga onde eu posso procurar isso. Eu realmente preciso encontrar uma maneira de forçar o layout / recurso /AssetManager para carregar um layout específico.

Eu sei que o comentário mais popular sobre esta questão é "você não precisa / por que você temlayout-xhdpi, Você devia terdrawable-xhdpi elayout-large"mas, fique comigo.

Eu apreciaria mesmo pequenas dicas sobre onde olhar e o que procurar. Tão longe,AssetManager parece ser o lugar para começar a escavar / registrar.

Quando eu omitirlayout-mdpi, o aplicativo falha em mim, com recursos ausentes. O bug parece ser que, mesmo que o código retornexhdpi, assumemdpi Em outro lugar. Eu preciso encontrar isso e corrigi-lo para que meus aplicativos pareçam tão legais quanto no ICS :)

Estou descobrindo qual layout é carregado de uma maneira simples - todos os layouts de raiz têm umandroid:tag elemento, e quando eusetContentView(R.layout.main_layout) Eu pego a tag no elemento raiz e sei qual pasta foi carregada. Além do feedback visual, isso eventualmente terá que corresponder à configuração do meu dispositivo.

Desde já, obrigado.

questionAnswers(3)

yourAnswerToTheQuestion