YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

French subtitles

← 02-07 Visualize_and_Fix_Overdraw_-_Solution

02-07 Visualize_and_Fix_Overdraw_-_Solution

Get Embed Code
13 Languages

Showing Revision 4 created 01/20/2016 by QA_SP_4_FR.

  1. Il fallait donc trouver
    quatre fonds inutiles

  2. dans les autres fichiers.
  3. Allons voir ce qu'il en est.
  4. Dans le XML de l'activité de base,
    rappelons qu'on veut garder ce fond blanc.
  5. Mais dans le fichier XML
    des éléments du salon,
  6. on a affiché
    un fond blanc inutile juste ici.
  7. Il est inutile puisqu'on utilisera le fond
    blanc de notre activité principale.
  8. C'est tout pour ce fichier.
  9. Ensuite dans le XML
    des divers éléments du chat,
  10. on a trois fonds inutiles.
  11. On en a un ici, qui ne sert à rien ;
    un autre ici, pas plus utile ;
  12. et enfin ici, en bas, ce fond blanc
    dans la vue textuelle est inutile.
  13. On peut donc les retirer.
  14. Bien, cool.
  15. Voyons nos progrès
    pour ce qui est de la superposition…
  16. Voilà l'aspect théorique de votre écran
  17. une fois ces fonds retirés correctement.
  18. C'est déjà mieux. N'est-ce pas ?
  19. Ok, bon travail.
  20. On a presque fini,
  21. mais en fait, il reste
    une optimisation possible.
  22. Il y a de la superposition ici,
    au niveau des avatars.
  23. C'est parce qu'on dessine un rectangle
    puis l'avatar par-dessus.
  24. Essayons d'être un poil plus malin.
  25. On ne mettra un fond ici
    que faute d'avatar.
  26. On y arrivera avec
    du code conditionnel.
  27. Bien,
  28. passons dans notre code d'adaptation
    du salon, le code chargé de créer
  29. chacun des éléments du chat
    lors du chargement.
  30. Allons voir notre méthode getView.
  31. Juste en bas on a en fait
    un bout de code
  32. qui affiche à la fois l'avatar et précise
    en même temps une couleur de fond.
  33. Voyons si on ne peut pas
    être plus malins ici.
  34. Écrivons un code qui ne précise
    la couleur de fond
  35. qu'en l'absence d'avatar.
  36. Et quand il y en aura, on rendra juste
    le fond transparent
  37. et on chargera l'avatar.
  38. On peut le faire ainsi.
  39. Bien, voici donc notre code révisé.
  40. Notez que quand il n'y a pas d'avatar,
    ce qu'on va faire,
  41. c'est charger une couleur transparente
    là où serait normalement l'avatar,
  42. puis définir une vraie couleur
    de fond pour l'avatar.
  43. Dans le cas du else,
    c'est-à-dire quand l'avatar existe,
  44. on va poursuivre
    en chargeant l'avatar correctement,
  45. et passer la couleur de fond
    à : « transparent ».
  46. Ce qui réduit la superposition.
  47. Bon, voyons donc
    si cette amélioration nous a aidés.
  48. Joli.
  49. Comme on peut le voir à nos avatars,
  50. notre code révisé a bien moins
    de superposition.
  51. C'était notre dernière optimisation,
    on en a donc fini.
  52. Faisons un récapitulatif.
  53. Au début, la superposition
    était beaucoup plus évidente.
  54. On a d'abord passé le drawable
    en arrière-plan à null.
  55. Deuxième opération, on a éliminé
    les déclarations des fonds inutiles
  56. de nos balises XML.
  57. Puis la troisième et dernière opération
    a été de n'afficher une couleur de fond
  58. que faute d'avatar.
  59. Grâce à ces changements,
    on a obtenu ceci.
  60. C'est beaucoup plus net en termes
    de performance des superpositions.
  61. C'est donc du beau travail.
  62. N'oubliez pas :
    les performances, ça compte.