Bu belgede, Navigation SDK'yı kullanarak oluşturduğunuz bir mobil navigasyon uygulamasında güç tüketimini nasıl optimize edebileceğinize dair en iyi uygulamalar açıklanmaktadır. Aynı zamanda, bu uygulamaları kullanırken göz önünde bulundurulması gereken ödünleri de açıklar. Bu belgede özellikle aşağıdaki konular ele alınmaktadır:
- En yüksekten en düşüğe doğru sıralanmış, yüksek güç tüketimine neden olan kaynaklar.
- Önem sırasına göre güç tüketimini optimize etme stratejileri (kare hızından başlayarak).
- Uygulama kullanıcılarını, gezinirken cihaz kullanımını yönetme konusunda eğitmek için son kullanıcı stratejileri.
Neden navigasyon uygulamanızı optimize etmelisiniz?
Uygulama kullanıcılarınız, durumlarına bağlı olarak uzun süre boyunca navigasyon kılavuzunu çalıştırabilir. Örneğin, sürücüler ve kuryeler uzun saatler boyunca çalışabilir ve bilmedikleri bölgelerde görevleri tamamlayabilir. Bu tür durumlarda, uygulama içi adım adım yol tarifine büyük ölçüde güvenilir. Bu durum, bazı tipik sorunlara yol açar:
- Pil tüketimi ve şarj cihazlarının kullanılabilirliği. Yoğun navigasyon kullanımı, cihaz pillerinin beklenenden daha hızlı tükenmesine neden olabilir. Birçok kullanıcı bu sorunu cihazını araçta şarj ederek çözebilirken iki tekerlekli araç sürücüleri bunu yapamaz.
- Isınma nedeniyle cihazın performansını düşürme. Cihazlarını sürekli olarak şarj eden kullanıcılar bile sorun yaşayabilir. Uzun süre boyunca yüksek güç tüketimi, cihazın ısınmasına neden olabilir. Bu durum, termal kısıtlamaya ve ardından performans kaybına yol açar.
Dönüş yönü navigasyon uygulamaları ekran, GPS ve baz istasyonlarıyla radyo iletişimi gibi güç gerektiren özelliklere dayanır. Bu nedenle, mobil uygulamanızın güç kullanımını optimize etmek en iyi uygulamadır. Ayrıca, hedef kitlenizin güç kullanımına ilişkin ihtiyaçlarını da göz önünde bulundurarak performans ve güç tüketimini optimize etme arasında uygun dengeyi kurmalısınız.
En çok gücü ne tüketiyor?
Bu bölümde, yüksek güç tüketimiyle ilişkili uygulama içi etkinlikler iki kategoriye ayrılır:
- Ekran oluşturma
- Konum güncellemeleri
Ekran oluşturma
Ekran oluşturma genellikle mobil navigasyon uygulamalarında en yüksek güç tüketimine neden olur. Cihaz, ekranda her harita ve diğer kullanıcı arayüzü öğelerini çizdiğinde GPU ve CPU işlemeye güvenir. Benzer şekilde, kullanıcı bu ekranı uzun süre açık bıraktığında da daha fazla güç tüketilir.
Özellikle uygulamayı uzun saatler boyunca sürekli olarak kullanan sürücülerin veya yolcuların, gezinmek için görünür bir haritaya ihtiyaç duydukları durumlarda yüksek güç tüketimi beklenebilir. Bu senaryoda, harita anlık olarak güncellendiğinden uygulama ekranda daha yüksek bir oluşturma hızı da gerçekleştirir. Bazı durumlarda ekran neredeyse sürekli olarak yeniden çizilebilir. Bu durum özellikle kullanıcının durmadan bir konumdan diğerine araç kullandığı zamanlarda görülür.
Konum güncellemeleri
Ekran oluşturmanın yanı sıra iki gezinme etkinliği daha cihazın gücünü tüketir:
- Radyo kulesi ve GPS kullanımı
- Konum güncellemeleri ve paylaşımı (ör. tahmini varış zamanı sağlama veya bir filodaki araçların konumlarını bildirme)
GPS ve hücresel radyo iletişimi, güç tüketen başlatma işlemlerine dayanır: GPS'in uyduları bulması, hücresel radyoların ise kulelerle iletişim kurup bağlantı oluşturması gerekir. Bu nedenle, başlatma maliyetlerini en aza indirmek için hücresel radyolar 20-30 saniye boyunca etkin kalsa da gezinme sırasında esasen sürekli olarak çalışırlar. Bu ayarlar, uygulamanızda kolayca yapılandıramayacağınız işletim sistemi tarafından kontrol edilir.
Konum güncellemelerinde güç kullanımı, tahmin edilemeyen faktörlere bağlı olarak değişir. Örneğin, cihaz ile hücresel baz istasyonu arasındaki mesafe, güç kullanımını belirler. Cihaz, kuleler arasında geçiş yapmamak için navigasyona devam etmek üzere gereken minimum sinyali kullanır. Bu nedenle, bağlantının zayıf olduğu bir alanda gezinirken bir baz istasyonuna yakın olan cihaza kıyasla daha fazla güç kullanılır. Ayrıca, bazı uygulamalar konum güncellemelerini merkezi bir filo yönetim hizmetiyle paylaşabilir. Bu nedenle, bunu gerçekleştirmek için bir sunucuyla iletişim kurmaları gerekir.
Uygulamanızın güç kullanımını optimize etme
Navigasyon uygulamalarında güç kullanımını optimize etmenin zorluğu, bu uygulamaların güç tüketen kaynaklara büyük ölçüde bağlı olmasıdır. Bu durum, ekran kullanımını kısıtlama gibi ödünler vermeden etkiyi azaltma seçeneklerinizi sınırlar. Bu bölümde, uygulamanızı optimize ederken kullanabileceğiniz yaklaşımların bir listesi verilmiştir. Bu yaklaşımlar, en etkili olandan en az etkili olana doğru sıralanmıştır.
Kare hızını değiştirme
Ekran, gösterdiklerini kare hızı olarak bilinen bir sıklıkta günceller. Kare hızı genellikle saniyedeki kare sayısı (FPS) olarak ölçülür. Ekran oluşturma işlemi çok fazla CPU veya GPU kullandığından güç tüketimini azaltmak için kare hızını düşürebilirsiniz.
Kare hızını düşürmenin dezavantajı, özellikle harita sık sık güncelleniyorsa ekran oluşturmanın daha az akıcı görünmesidir. Bu durum, harita yakınlaştırıldığında, kullanıcının yüksek hızda seyahat ettiği durumlarda veya hız ya da yön büyük ölçüde değiştirildiğinde daha belirgin olabilir.
Kare hızlarını değiştirme hakkında daha fazla bilgi edinmek için Android Media Dev Center geliştirici belgelerindeki Kare hızı bölümüne bakın.
Harita olmadan gezinme
Son kullanıcının cihaz ekran parlaklığını nasıl ayarladığını veya ekranını ne kadar süre açık tuttuğunu kontrol edemezsiniz ancak harita olmadan gezinme talimatları için bir seçenek sunabilirsiniz. Bu sayede son kullanıcı, güç tasarrufu yapmak için bu seçeneği belirleyebilir. Örneğin, sürücüler düzenli olarak aynı mahallede çalışıyorsa harita tabanlı rehberliğe o kadar sık ihtiyaç duymayabilir. Haritasız navigasyon, Navigation SDK'da hedef belirleyip rehberliği başlatarak etkinleştirilebilir ancak harita gösterilmez.
Geçiş kullanıcı arayüzünü gizlemek için NavigationView veya SupportNavigationFragment eklemeyin. Zaten eklediyseniz bunları ekleyen kodu kaldırın. Aşağıdaki kod, Navigation SDK Android demo uygulamasından değiştirilmiştir ve gezinme kullanıcı arayüzünü ekleyen kodu kaldırmak için yorumların kullanımını gösterir:
//Obtain a reference to the NavigationFragment
//setContentView(R.layout.activity_nav_fragment);
//mNavFragment = (SupportNavigationFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_fragment);
Navigation SDK, yola yerleştirilmiş konumları, tahmini varış zamanını ve yolculukta kalan mesafeyi güncellemeye devam eder. Sürücü ilerledikçe uygulamanız, SDK tarafından oluşturulan tüm etkinliklere abone olmaya devam edebilir. Bu yöntem her kullanım alanı için uygun değildir ve sürücünün haritayı görmesi ve görsel talimatları takip etmesi gereken durumlarda iyi bir tavsiye değildir. Aşağıdaki ekran görüntülerinde, etkin navigasyon sırasında harita görünümlerini değiştirmenin yan yana karşılaştırması gösterilmektedir.
![]() |
![]() |
Koyu harita stili kullanma
Haritanın ekranda oluşturulması için gereken enerji miktarını azaltmak amacıyla haritayı koyu tema kullanacak şekilde stilize etmeyi düşünebilirsiniz.
Navigasyon SDK'sı, haritalarını Android için Google Haritalar SDK'sı'nı kullanarak oluşturur. Bu SDK, uygulamanızdaki navigasyon dışı harita görünümlerini stilize etme seçenekleri içerir. Navigasyon görünümü, koyu modun zorunlu kılınmasını da destekler. Ekran türündeki farklılıklar nedeniyle bu ayar her cihazı aynı şekilde etkilemeyebilir ancak bazı durumlarda güç tasarrufu sağlayabilir. Yakın zamanda yapılan bir çalışmada, bazı ekranlarda koyu modun sağladığı güç tasarrufu miktarının, ekranın başlangıçtaki parlaklığına bağlı olduğu tespit edildi. Örneğin, karanlık mod, parlaklığı maksimum seviyeye ayarlanmış ekranlarda, parlaklığı maksimum seviyenin% 30-50'sine ayarlanmış ekranlara kıyasla daha fazla güç tasarrufu sağlar. Uygulamalarınızda koyu modu kullanırken bunu göz önünde bulundurmanız önemlidir. Çünkü güç tasarrufu, son kullanıcının ekran parlaklığını nasıl ayarladığına bağlıdır.
Gezinme kullanıcı arayüzünü değiştirme hakkında daha fazla bilgi edinmek için Gezinme kullanıcı arayüzünü değiştirme başlıklı makaleyi inceleyin.

Haritanız için koyu bir stil oluşturmak üzere, koyu harita stili seçiminizi temsil eden bir JSON stili içeren MapStyleOptions nesnesi kullanın. Eski JSON stilleri, https://mapstyle.withgoogle.com/ adresindeki eski stil düzenleyici kullanılarak oluşturulabilir.
GPS konum güncelleme sıklığını değiştirme
Cihazdan gönderilen konum güncellemelerinden kaynaklanan güç kullanımını değerlendirirken iletimde gönderilen veri miktarı yerine konum güncellemelerinin sıklığına daha fazla odaklanın.
Bu, Navigation SDK'da doğrudan kontrol edebileceğiniz bir durum değildir. Ancak Android uygulamanız konum isteğinde bağımsız olarak bulunuyorsa Android geliştirici belgelerindeki Pili korumak için konumu optimize etme başlıklı makaledeki tavsiyeleri dikkate almanız gerekir. GPS dışı konum kaynaklarını (hücre ve kablosuz) kullanırken de aynı tavsiyeler geçerlidir.
Kullanıcılarınızı bilgilendirin
Uygulamanızın kullanıcıları, güç tüketimlerini nasıl optimize edeceklerini öğrenmek isteyebilir. Kullanıcılarınızın uygulamalarındaki güç tüketimini azaltmalarına yardımcı olmak için onlara şunları yapmalarını önerin:
- Telefonu kilitleme
- Navigasyon uygulamasını arka plana alın
- Mümkünse navigasyonu harita olmadan kullanma
- OLED ve AMOLED ekranlarda koyu modu kullanarak veya uyarlanabilir parlaklığı etkinleştirerek ekran parlaklığını azaltın.
- Cihazı serin tutun
- Varsa araç içi kablosuz ağa bağlanma
Güç tüketimini ölçme
Güç tüketimini ölçmek için profesyonel düzeyde araçlar kullanabilirsiniz ancak bu araçları edinmek genellikle zordur veya maliyetlidir. Android Studio'daki Power Profiler ve XCode Organizer'daki Pil Kullanımı bölmesi gibi uygulamalar ve IDE profilleme araçları güç tüketimini ölçer ancak arka plan işlemlerinin etkisini kaldırmak veya karşılaştırma için bir performans temeli belirlemek zor olabilir. Bazı durumlarda cihaz kısıtlamaları, gerekli verilere erişimi engelleyebilir.
Özel amaçlı güç izleme donanımı kullanabilir ve pil bağlantı yapılandırmasını değiştirebilirsiniz. Bu konuda size yardımcı olacak ticari ürün ve hizmetler mevcuttur. Cihazları bu şekilde değiştirmenin cihazın garantisini geçersiz kılabileceğini unutmayın.