Android formats de Couleur (RGB565, ARGB8888)
getHolder().setFormat(PixelFormat.RGBA_888);
Options options = new BitmapFactory.Options();
options.inDither=true;
options.inScaled = true;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inPurgeable=true;
(Bitmat créé à l'aide des options ci-dessus)
Lorsque vous utilisez le code ci-dessus, j'obtiens les résultats suivants.........
- Pas de couleur de baguage sur ma Tablette
- Couleur remarquable de baguage sur test mobile (Samsung Galaxy Ace)
getHolder().setFormat(PixelFormat.RGBA_888); Options options = new BitmapFactory.Options(); options.inDither=true; options.inScaled = true; options.inPreferredConfig = Bitmap.Config.ARGB_565; options.inPurgeable=true;
- Pas de couleur de baguage sur ma tablette
- Noticible couleur de baguage sur le Galaxy Ace
- Mêmes résultats que ci-dessus
getHolder().setFormat(PixelFormat.RGB_565); Options options = new BitmapFactory.Options(); options.inDither=true; options.inScaled = true; options.inPreferredConfig = Bitmap.Config.RGB_565; options.inPurgeable=true;
- Couleur de baguage sur ma tablette
- couleur de baguage sur les SG Ace
getHolder().setFormat(PixelFormat.RGB_565); Options options = new BitmapFactory.Options(); options.inDither=true; options.inScaled = true; options.inPreferredConfig = Bitmap.Config.ARGB_8888; options.inPurgeable=true;
- Couleur de baguage sur ma tablette
- couleur de baguage sur les SG Ace
Donc, en conclusion, seule la PixelFormat.xxxx partie semble faire aucune différence. Ma compréhension est que c'est pour définir le titulaire de la couleur de format. Cela va affecter tout tracé. (c'est à dire, tout va se que ce format).
Quelqu'un pourrait-il expliquer quel est le but de la ligne suivante s'il vous plaît?
options.inPreferredConfig = Bitmap.Config.xxxxxxx
Cela ne semble pas avoir d'effet sur l'image qui a été tirée.
Performance est primordiale, afin que je puisse changer mon png d'origine des fichiers de sorte qu'ils n'ont pas de dégradés, de (ie, pour les dessiner comme RGB565 - est-ce conseillé ou dois-je coller avec 8888?) ou doit-tramage de sorte que? (parce que comme vous pouvez le voir, je l'ai activé mais il ne semble pas aider).
Des idées pourquoi le cerclage est toujours là, sur le Ace? Pourrait-il être une limitation matérielle?
Grâce tout cela est très confus.
(PS j'ai lu le guide officiel, je regarde toujours qu'avant de poster une question, de SORTE que comme la recherche à d'autres SI des questions, mais le guide officiel (comme c'est trop souvent le cas), n'est pas clair pour moi et je ne pouvais pas trouver les réponses par le biais d'autres questions, alors, toutes mes excuses si il est déjà ici).
OriginalL'auteur Zippy | 2013-03-02
Vous devez vous connecter pour publier un commentaire.
565 format par défaut est car il peut être établi avec plus rapide et nécessite moins de puissance de traitement. Comme pour votre SG Ace, je crois qu'un retour alors que seulement certaines versions d'Android pris en charge la 8888 couleur.
Pour obtenir l'un de mes app horizons de pas de la bande, j'ai eu à faire ce qui suit:
1 - Ajouter le fond de dossier drawable
2 - Créer background_dithered.xml avec le contenu suivant:
3 - code d'Activité:
Je ne suis pas sûr que j'ai fait cela avec un statique png mais vous pouvez essayer de faire le format de jeu sur onAttachedToWindow remplacer
Assez sûr ARGB_8888 est la valeur par défaut maintenant.
OriginalL'auteur Srdjan Grubor
Différents
Bitmap
configurations différentes empreinte mémoire.RGB_565
est un 16 bits de couleur format.ARGB_8888
est un 32 bits.Indépendamment de la
getHolder().setFormat();
de configuration que vous avez choisie, ou la façon dont il est tiré, unARGB_8888
Bitmap va être beaucoup plus grande (de mémoire) qu'une image Bitmap dansRGB_565
format.OriginalL'auteur Tyler MacDonell