2010-01-19 3 views
2

Mon application se connecte au serveur Web, télécharge des données (environ 43000 octets) et effectue des fonctions mathématiques (telles que log, +, -, * etc ...) sur chaque octet.Travailler très lentement

Pour préparer le fichier apk, c'est comme publier sur le marché android. Désactivé le mode débogage et désactivé tous les enregistreurs.

Ensuite, mettez-le sur le serveur Web et téléchargé (installé) sur mon appareil HTC. Après l'installation, j'ai testé l'application. L'heure entre le début de la lecture des octets et la fin de la tâche est d'environ 4 minutes. C'est très lent.

J'ai étudié cette partie. Il semble que cela fonctionne lentement sur les fonctions mathématiques.

Y a-t-il un moyen d'augmenter la vitesse de travail?

Mon code est identique à la version iphone de mon application. C'est très rapide. Toutes les pièces se terminent en 4 - 10 secondes.

Quel est le problème ici?

Ou ai-je besoin de n'importe quelle configuration (mode de débogage lié)?

Veuillez nous consulter.

Merci.

Répondre

4

Je suggère de comparer les performances mathématiques brutes sur les deux plates-formes.

Tous les processeurs mobiles ne possèdent pas de module FPU matériel, ce qui rend les calculs complexes TRES lents.

Solution de contournement consiste à implémenter des fonctions mathématiques via des calculs entiers avec une précision limitée - cela peut vous donner une amélioration de performance de 2 à 10 fois s'il s'agit d'un calcul réellement émulé.

3

La première étape pour résoudre les problèmes de performances consiste à les identifier. Vous devriez profiler votre application pour identifier exactement où les problèmes sont.

Vous pouvez utiliser l'outil traceview pour profiler votre application. Jetez un oeil à this question for instructions on how to use traceview.

0

Les méthodes natives utilisant Android NDK constituent une option pour les sections de code critiques en termes de performances. C'est compliqué et nécessite une attention particulière aux problèmes de compatibilité, mais pourrait vous donner le coup de pouce que vous recherchez.

Questions connexes