Tout le monde !
Je dessine un graphique à partir de certaines données de mon application. Le tracé est avec défilement et zoom. Je crée 2 bitmaps dans ce but dans MyMainFragment.onActivityCreated().
if (bitmaps[0] != null)
{
return;
}
final int deviceWidth = getResources().getDisplayMetrics().widthPixels;
final int deviceHeight = getResources().getDisplayMetrics().heightPixels;
final int deviceMaxDim = Math.max(deviceHeight, deviceWidth);
bitmaps[0] = Bitmap.createBitmap(
deviceMaxDim * 2,
deviceMaxDim * 1,
Bitmap.Config.ARGB_8888);
bitmaps[1] = Bitmap.createBitmap(
bitmaps[0].getWidth(),
bitmaps[0].getHeight(),
bitmaps[0].getConfig());
J'ai besoin de 2 bitmaps et non d'un seul en raison de l'algorithme de dessin que j'utilise. En exécutant le programme sur l'Asus Transformer, la taille des bmp en pixels est de 1280 * 2 * 1280, donc la taille des octets est de 1280 * 2 * 1280 * 4. Lorsque je lance le programme depuis Eclipse, tout va bien. Mais lorsque je le lance comme un utilisateur ordinaire depuis la tablette, il se plante une fois sur deux.
Que se passe-t-il derrière la scène lorsque je lance mon application à partir d'Eclipse pour qu'elle s'exécute et puis-je suivre les mêmes étapes de manière programmatique pour qu'elle ne plante pas lorsqu'elle est lancée normalement ? Ou dois-je utiliser d'autres algorithmes de dessin (peut-être quelque chose comme OpenGL) ?
Merci beaucoup.