IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[Android] gestion multi thread et consommation de la batterie


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut [Android] gestion multi thread et consommation de la batterie
    Bonjour,

    je viens de developper une application qui gère un système multi thread

    je fais un requête sqlite avec un timeout..

    j'ai un message comme quoi mon application est énergivore

    après un certains temps d'utilisation

    je fais donc appel a vous pour résoudre mon problème..

    merci pour vos réactions.

  2. #2
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Isolation du problème
    En fait ma question est plutôt simple..

    J'ai la géo-localisation qui tourne en arrière plan...

    Et la requête sqlite qui part toute les deux minutes..

    La qu'elle de ces deux technologies provoque une consommation énergétique élevé ?

  3. #3
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Je bien que c'est la géolocalisation.
    Tu vas devoir optimiser le code de la géolocalisation.
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  4. #4
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Problème de géo-localisation..?
    Merci pour ta réaction..

    Tu pense alors que c'est la géo-localisation ?

    J'ai dans mon manifest.xml j'ai autorisé seulement access.Coarse.location et pas le access.Fine.location

    Tu pense que cela est suffisant ?

  5. #5
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Oui le problème se situe au niveau de la géolocalisation.
    Si ton application sollicite assez fréquemment la géolocalisation ton application sera évidemment énergivore .
    Peux-tu montrer le code qui gère la géolocalisation et les différents codes associés ?
    ton timeout pour les requêtes SQLite s’exécutes-t-il aussi fréquemment ?
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  6. #6
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Code de ma tache asychrone et de la localisation
    merci pour ta réaction..

    edit: ma consomation sur le smartphone est de 13mAh

    je ne connais pas la signification de cette valeur

    voici mon code de la localisation qui est dans ma tache asychrone..

    pour l'instant j'ai désactiver les requête sql je fait les comparaison avec une valeur statique pour les test..

    et j'ai toujours ce message que mon application est énergivore..

    La tache est executer toute les 60 sec..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    public static class ProgressTask extends AsyncTask<Void, Integer, Boolean> {
     
            // Identifiant de la boîte de dialogue
            public final static int ID_DIALOG = 0;
            public ProgressTask asyncObject;
            boolean flag = false;
            // Référence faible à l'activité
            private WeakReference<MainActivityTwo> mActivity = null;
            MyLocationLinstener gps;
            MyLocationLinstener network;
            Context C = VolleyApplication.getInstance().getApplicationContext();
            WeakReference<Context> weakReference = new WeakReference<Context>(C);
     
            public ProgressTask(MainActivityTwo pActivity) {
                link(pActivity);
            }
     
     
            @Override
            protected void onPreExecute() {
                // Au lancement, on affiche la boîte de dialogue
                // super.onPreExecute();
                flag = true;
            }
     
            @Override
            protected Boolean doInBackground(Void... params) {
     
                while (flag) {
     
                    //Your Code what you are doing in the Do inBackground
                    boolean isValueFoundNw = false;
                    boolean isValueFoundGps = false;
     
     
                    gps = new MyLocationLinstener(C) {
                    };
                    network = new MyLocationLinstener(C) {
                    };
     
                    LocationManager locationManager;
                    locationManager = (LocationManager) C
                            .getSystemService(LOCATION_SERVICE);
                    isGPSEnabled = locationManager
                            .isProviderEnabled(LocationManager.GPS_PROVIDER);
                    // getting network status
                    isNetworkEnabled = locationManager
                            .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
     
                     if (isNetworkEnabled) {
     
                        Log.i("NetworkTest", "true");
                        if (network.canGetLocation()) {
                            Log.i("NetworkCangetlocation", "true");
     
                            double latitude = network.getLatitude();
                            double longitude = network.getLongitude();
                            //---------------------------------------------------------------------------------------
                            final Location loc = new Location(LocationManager.NETWORK_PROVIDER);
                            final Location loc2 = new Location(LocationManager.NETWORK_PROVIDER);
                            // test radius network coar
                            float radius = 30;
                            float distance;
     
                            String lat = "50.778305";
                            String lng = "4.332104";
     
                            double lat1 = Double.parseDouble(lat);
                            double lng1 = Double.parseDouble(lng);
                            loc.setLatitude(Double.parseDouble(lat));
                            loc2.setLatitude(latitude);
                            loc.setLongitude(Double.parseDouble(lng));
                            loc2.setLongitude(longitude);
     
                            distance =  loc2.distanceTo(loc);
     
                            if (distance < 30 || distance > 680) {
                                 // do someting..
                            }
                            if (isValueFoundNw) {
                                // do someting..
                            }  
                        }
                    }
     
                    try {
                        Thread.sleep(60000);//Your Interval after which you want to refresh the screen
                    } catch (InterruptedException e) {
                    }
                }
                return true;
            }
     
            @Override
            protected void onPostExecute(Boolean result) {
     
                if (mActivity.get() != null) {
                    if (result)
                        Toast.makeText(mActivity.get(), "Location running..", Toast.LENGTH_SHORT).show();
                    else
                        Toast.makeText(mActivity.get(), "No Location found", Toast.LENGTH_SHORT).show();
                }
            }
     
     
            @Override
            protected void onProgressUpdate(Integer... prog) {
                // À chaque avancement du téléchargement, on met à jour la boîte de dialogue
                Log.i("onPorgressUpdate", "Fait");
            }
     
            @Override
            protected void onCancelled() {
                if (mActivity.get() != null)
                    Toast.makeText(mActivity.get(), "No Location found", Toast.LENGTH_SHORT).show();
            }
     
            public void link(MainActivityTwo pActivity) {
                mActivity = new WeakReference<MainActivityTwo>(pActivity);
            }
     
     
        }
    et voici ma fonction qui est appeler dans ma fonction OnCreate() la localisation est executer aussi toute les 60 sec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    private void addLocationListener() {
            Log.i("addLocationListener", "function is RUNNING!");
            lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
     
            Criteria c = new Criteria();
            c.setAccuracy(Criteria.ACCURACY_FINE);
     
            final Belgium bel = new Belgium();
            final String PROVIDER = lm.getBestProvider(c, true);
            final Location locGps = new Location(LocationManager.GPS_PROVIDER);
            final Location locNet = new Location(LocationManager.NETWORK_PROVIDER);
            this.myLocationListener = new MyLocationLinstener(getApplicationContext()) {
     
                @Override
                public void onLocationChanged(Location location) {
                    super.onLocationChanged(location);
     
     
                    // On recrée à chaque fois l'objet
                    mProgress = new ProgressTask(MainActivityTwo.this);
                    // On l'exécute
                    mProgress.execute();
                    //mProgress.cancel(true);
     
                    if (running == false) {
                        //destroy process..
                        mProgress.cancel(true);
                        running = true;
                    }
     
                    Toast.makeText(context, "Location changed", Toast.LENGTH_SHORT).show();
     
                }
     
     
                @Override
                public void onProviderDisabled(String provider) {
                    super.onProviderDisabled(provider);
                    //Toast.makeText(context, "Gps Disabled", Toast.LENGTH_SHORT).show();
                }
     
                @Override
                public void onProviderEnabled(String provider) {
                    super.onProviderEnabled(provider);
                    Toast.makeText(context, "Gps Enabled", Toast.LENGTH_SHORT).show();
                }
     
                @Override
                public void onStatusChanged(String provider, int status, Bundle extras) {
                    super.onStatusChanged(provider, status, extras);
                }
     
     
            };
         if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                // TODO: Consider calling
                //    ActivityCompat#requestPermissions
                // here to request the missing permissions, and then overriding
                //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                //                                          int[] grantResults)
                // to handle the case where the user grants the permission. See the documentation
                // for ActivityCompat#requestPermissions for more details.
                return;
            }
     
            this.lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60000, 0, this.myLocationListener);
        }
    pur mes test je fait la localisation avec le wifi et l'antenne relais.. je laisse le gps pour après.. vu que cette techno est plus consommatrice en energie que le résaux

  7. #7
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Mah signifie milliampères, c'est l'ampérage de la batterie du téléphone en lithium-ion.
    Cette valeur varie en fonction des devices, pour une devise basique elle peut et estimé à 1500 Mah et jusqu’à 2500 Mah.

    La consommation est évidente, tu sollicites chaque 1 minute le Wi-Fi et l'antenne relais pour la localisation.
    1 heure = 60 min = 60 appels du service pour la localisation.

    Je te conseille d'augmenter le temps d'exécution de la tâche.
    Peut-être chaque 3 minutes.

    Je te ferai un retour sur ton code.

    EDIT : Mais la consommation de ton application peut varier en fonction des Devices. Pour un Device qui à puissante batterie la consommation de ton application sera minime.
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  8. #8
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Mais pourquoi tu ne récupères pas la position (longitude, latitude) et n'exécute pas t'a logique métier dans le onLocationChanged.
    Tu crées une simple tâche pour rafraichir ta vue, qui sera exécutée dans le onLocationChanged..
    cette méthode s’exécute quand la position de l'utilisateur change.
    donc pas besoins d’exécuter le ProgressTask à chaque moment, laisse cette tâche au onLocationChanged qui indiquera que la position de l'utilisateur a changé.
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  9. #9
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut implementation de la méthode onLocationChanged()
    Merci pour ta réaction ..

    et pour tes explications sans cela je n'aurais pas avancé

    je mets ma logique metier dans la méthodes onLocationChanged()

    et je tiens au courant de l'avancement du projet..

    merci encore pour ton aide

  10. #10
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut UP: ma fonction onLocationChanged() ne tourne pas quand le device est en veille..
    Me revoilà..

    mais voilà que la fonction onLocationChanged() ne tourne pas en backgroud

    en fait quand le device est en veille il ne fait rien.. Je change pourtant de position..

    je doit tous de même implémenter ma tach asychrone du coup?

    j'attend votre avis..

    Merci pour vos réactions.

  11. #11
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Pourquoi ne pas implémenter ton code dans un service qui s’exécute indéfiniment.
    Explique ce que tu voudrais faire.
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  12. #12
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut OnChangeLocation et location
    On c'est presque croiser sur ce post 😉

    Je me pose des questions quand même..

    Ma fonction onChangeLocation se déclenche pas au deuxième coup vu que je ne change pas de position..

    Vu que je suis connecté à mon WiFi et l'antenne relais du coup il ne détecte pas de changement significatif.. Dite moi si je me trompe ?

    Mon application est développé pour prévenir des dérangement des appels reçu par l'utilisateur sur les places public..

    Merci d'avance..

  13. #13
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    OnChangeLocation se déclenche quand la position de l'utilisateur change.
    Mais ce changement est détecté le Wi-Fi et l'antenne relais dans ton cas.
    si ces deux composants ne sont pas précis, il ne détecterait pas de changement significatif comme tu la dis.
    Si tu as besoin d'un outil bien précis utilise le Gps du téléphone avec les permissions adéquates.
    Je te propose d'implémenter un service qui implémente toutes les interfaces dont ta besoins pour la localisation.
    Et ensuite d'utiliser le Gps qui est plus précis.
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  14. #14
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut changement de position
    Merci pour ta réaction..

    ok bien compris je doit commencer a implementer le code pour le gps..

    j'ai deja implémentés l'interface locationListener

    et utiliser la fonction onlocationchanged..

    si je fait les teste avec le gps je saurait si tous est fonctionnelle

    j'espère que je n'aurait pas un message de consommation énergétique utilisant le gps

    je vais le faire et je reviendrait vers toi pour confirmer..

    merci encore..

  15. #15
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Consommation batterie message récurent
    Me revoilà..

    J'ai toujours ce message de consommation énergétique..

    J'ai une requête on location toute les 3 minutes, c'est peut-être la permission access_fine_location qui pose problème dans ce cas je ne peux pas utiliser le GPS..?

    Comment debuger et résoudre ce souci ?

    Il y a avec Android studio ou adb moyen de contrôler la consommation de la batterie ?

    Merci d'avance

  16. #16
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Je te propose de voir la classe AlarmManager, qui est peut être une solution efficace à la répétition de ton code https://developer.android.com/refere...rmManager.html .
    Tu peut pas contrôler la consommation de la batterie via AndroidStudio du moins je suis pas très sure que sa puisse se faire.
    Mais tu peut vérifier le moniteur au niveau d'AndroidStudio https://developer.android.com/studio...d-monitor.html Pour avoir certaines indications.
    Affiche STP ton nouveau code que tu as implémenté.
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  17. #17
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Service sous Android
    D'abord merci pour ta réaction..

    Je me pose quelques questions concernant les services et leur implémentation et utiliser

    Peut tu m'en dire plus ?

  18. #18
    Membre éclairé Avatar de alves1993
    Homme Profil pro
    Développeur Java/Dart/Javascript/Android (FullStack)
    Inscrit en
    Décembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Java/Dart/Javascript/Android (FullStack)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 222
    Points : 659
    Points
    659
    Par défaut
    Je te propose de lire ces différents articles.
    Services :
    http://nbenbourahla.developpez.com/t...-sous-android/
    http://www.vogella.com/tutorials/And...s/article.html

    EDIT: Tu peut utiliser aussi cette librairie pour vérifier les fuites de mémoires https://github.com/square/leakcanary une vidéo pour t'aider
    Un geek ne vieillit pas, il se met à jour.

    Pour plus d'informations sur Android regarder la faq Android.
    Ensuite les tutoriels Android sont disponibles ici
    Pour les mecs, qui n'arrivent pas toujours à digérer le Javascript, Dart peut-être une solution pour vous.

  19. #19
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Message app energivore
    Je suis de retour, après une pause

    J'utilise toujours la localisation et je me demandais pourquoi j'ai toujours ce message comme quoi mon app est energivore..

    Au début je fesait une location toute les 3min..

    Ce qui me donnais un message d'erreur assez rapidement maintenant je le fais toute les 6 min ce qui rallonge tous simplement la durée du message de consommation..

    Est-ce systématique quand on utilise la location fine..

    J'ai pas fait de vrai modification dans mon code pour l'instant.. Donc je ne poste pas mon code.. Je voudrais résoudre ce souci d'abord sauf si vous me dites que la création de services pourrais modifier le comportement de mon application et ainsi supprimer ce message..

    Edit : Après recherche.. Je vais créer et implémenter une service en espérant que mon souci se résous car en ce moment j'utilise les asynctask..

    Merci pour vos réactions

  20. #20
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 219
    Points
    20 219
    Par défaut
    On pourrait voir le message que tu reçois ?
    Il est sous quelle forme ? c'est le système ? dans les logs ?

    J'ai jamais vu ce genre de message pourtant j'ai déjà fait une appli qui interroge le GPS à intervals réguliers et relativement proches
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Gestion des thread sous Android
    Par bind ways dans le forum Android
    Réponses: 4
    Dernier message: 08/04/2011, 10h43
  2. Multi-threading: Gestion de l'UI et de WebServices.
    Par Ephismen dans le forum Silverlight
    Réponses: 18
    Dernier message: 01/09/2010, 21h17
  3. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  4. [Kylix] exception qtinft.dll et multi-threading
    Par leclaudio25 dans le forum EDI
    Réponses: 3
    Dernier message: 27/03/2003, 18h09
  5. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo