Google Play Services აკნინებს ბატარეებს wakelock-ებით მორგებულ 5.x ROM-ებზე. აქ მოცემულია Cyanogen-ისა და დეველოპერის საზოგადოების შესწორებები სასიამოვნო, სუფთა მიმოხილვით.
Wakelocks არის ბატარეის შეგნებული უბედურება და ეს wakelock შეცდომა დიდი ხანია აწუხებს Android ROM-ებს. დიახ, ეს საკითხი არც ახალია და არც უნიკალური და ის სამუდამოდ არ მოგვარდება, სანამ Google არ გააქტიურდება, მაგრამ CyanogenMod 12-ისა და CyanogenOS-ის (სხვათა შორის) ბოლო გაშვებამ გამოიწვია ინტერესის ახალი რაუნდი Google Play Services 7.x SystemUpdateService Wakelock-ის შეცდომა. სასიხარულო ამბავი ის არის, რომ CM12-მა გუშინ შეასწორა შესწორება და CyanogenOS უნდა დაყენებულიყო მომდევნო კვირაში. Ცუდი? ROM-ის ყველა სხვა შემქმნელს ჯერ კიდევ სჭირდება უახლესი საკითხის გათვალისწინება და ძირეული მიზეზი ისეთივე უსიამოვნოა, როგორც არასდროს. ეს არ არის ბოლო შემთხვევა, როდესაც ჩვენ გვექნება ეს საუბარი, მაგრამ ახლა მოდით განვიხილოთ პრობლემა, აღვნიშნოთ პატჩები და პროგრესის ანგარიშები და დავაბრუნოთ ჩვენი ბატარეის ენერგია საბრძოლო ფორმაში.
ადვილი მისახვედრია, რომ ტელეფონის სიმძლავრე უფრო სწრაფად იკლებს, ვიდრე უნდა, მაგრამ რომელ ტელეფონებზე/ROM-ებზეა დაზიანებული და რა არის ძირითადი მიზეზი? დავიწყოთ ამ უკანასკნელი კითხვით. Google Play Services შეიცავს OTA განახლების შემმოწმებელს, სახელწოდებით SystemUpdateService, რომლის ამოცანაა მოძებნოს და უპასუხოს საჰაერო მოთხოვნებს. საბაჟო ROM-ებზე განახლებები მოდის ROM-ის შემქმნელის მეშვეობით და არა Google-ის ან ოპერატორის მეშვეობით, ასე რომ, ეს სერვისი არაფერს აკეთებს, გარდა იმისა, რომ ხელს უშლის. მაგალითად, მუდმივი რეაგირება განახლებებზე, რომელთა ინსტალაცია შეუძლებელია, სწრაფი გზაა თქვენი მონაცემების გეგმის მაქსიმალურად გამოსაყენებლად - კიდევ ერთი გავრცელებული პრობლემა. ანალოგიურად, განახლების შემოწმებები აღვიძებს ტელეფონს და აცლის ბატარეას. ორივეს მარტივი გამოსავალი არის უბრალოდ ROM-ის შემქმნელებმა გამორთონ სერვისი და დაარქვან დღე, რაც ასეა ზუსტად ის, რაც ბევრმა გააკეთა Android 5.x-მდე და მათ შორის. სამწუხაროდ, Lollipop ისვრის ქანჩს სამუშაოები.
Android 5.0-დან და Gooogle Play Services 7.x-ით დაწყებული, განახლების მექანიზმი მოიცავს wakelock შემოწმებას. არსებითად, ტელეფონი ახლა იღვიძებს შემოწმების შესასრულებლად, ვერ დაუკავშირდება (გამორთული) SystemUpdateService-ს და აგრძელებს განუსაზღვრელი ვადით ელოდება პასუხს, რომელიც არასოდეს მოვა. ეს აშკარად პრობლემაა და იწვევს ბატარეის მრიცხველების დაცემის ეკრანის სურათებს და მყარი "Awake" ხაზებს, რომლებიც დატბორავს ყველა ფორუმს ყურში. თავდაპირველ კითხვას რომ დავუბრუნდეთ, ამ შეცდომის გლობალური ბუნება ნიშნავს, რომ მისი წვდომა ანალოგიურად არის გავრცელებული. ნებისმიერი მოწყობილობა მუშაობს ნებისმიერი ROM, რომელიც ან არ ზღუდავს SystemUpdateService-ს, ან არის Lollipop-ზე Lollipop-ის სპეციფიკური პატჩის გარეშე, დაინახავს ამ wakelock-ებს. მაგრამ ნუ შეგეშინდებათ, გადაწყვეტილებები უკვე ხვდება უბედურების ამ ბოლო რაუნდში.
ამ შემაშფოთებელი პრობლემის გადასაჭრელად რამდენიმე გზა არსებობს, Play Services-ის მორგებული flashable ვერსიებიდან დაწყებული CyanogenMod-ისა და OS-ის უფრო გამძლე ოფიციალური ROM-ის პატჩებამდე. Cyanogen გადაწყვეტა ელეგანტურად ხელახლა რთავს SystemUpdateService-ს, მაგრამ ზღუდავს მის მიმღებებს. წმინდა შედეგი არის ის, რომ როდესაც სერვისი ამოწმებს განახლებებს, ის მაშინვე მარცხდება და წყდება. ცხადია, ეს ჯერ კიდევ არასრულყოფილია, მაგრამ არის ჭკვიანი ხრიკი, რომელიც იმედია მალე გამოჩნდება სხვა Lollipop ROM-ებში. თქვენი ბატარეის საჭიროებისთვის, აქ არის თქვენი პატჩის ვარიანტების სრული მიმოხილვა ყველაზე ნაკლებად ეფექტურიდან.
- გუგლის პაჩი - ეს ცნობილი საკითხია. Google-ის გადაწყვეტა ერთადერთი გზაა იმის უზრუნველსაყოფად, რომ ეს სტატია არასოდეს საჭიროებს შემდგომ. მოძრაობაზე არაფერია ნათქვამი.
- CyanogenMod 11 - გასულ თვეში გადაწყდა. განაახლეთ თქვენი ROM.
- CyanogenMod 12.0 - დაკეცილი სტაბილურ რეპოში გუშინ. განაახლეთ თქვენი ROM.
- CyanogenMod 12.0 ღამით - გუშინ ჩაეყარა რეპოში. განაახლეთ თქვენი ღამისთევა.
- CyanogenOS -შეასწორეთ მომავალ კვირას? წაიკითხეთ დროებითი გამოსავლის შესახებ და შეამოწმეთ Cyanogen-თან მეტი დეტალებისთვის.
- Whack-a-mole hack - თუ პოსტში აქამდე მიაღწიე, ჩემი თანაგრძნობა შენთან და შენს ბატარეასთანაა. აღიარებული დეველოპერი კალკულინი საბედნიეროდ გააძლიერა ა ნაწილობრივი შესწორება OnePlus One ფორუმზე, მაგრამ მას გააჩნია რამდენიმე გაფრთხილება. სისტემური მასშტაბით უპირატესი გადაწყვეტის ნაცვლად, ეს Flashable ფაილი არის Play Services-ის შეცვლილი ვერსია, რომელიც წაშლილია შეურაცხმყოფელი კოდით. თავისი ბუნებით, ეს ფაილი გადაიწერება Google-ის მიერ, როდესაც მოხდება Play Service-ის შემდეგი განახლება, რაც ჩუმად კლავს თქვენს მოწყობილობას კიდევ ერთხელ. კალკულინმა პირობა დადო, რომ განაახლებს თავის პოსტს ყოველ ჯერზე, როდესაც ეს მოხდება, მაგრამ ეს რთული ამოცანაა და მოითხოვს ყველას მხრიდან სიფხიზლეს. უფრო შემაშფოთებელი ასპექტი ის არის, რომ ეს ფაილი სპეციფიკურია მოდელისა და OS-ისთვის. მიმდინარე ვერსია, Google Play Services v7.3.27-438, არის ვერსია 7.3.27, Android Lollipop (4), armeabi-v7a არქიტექტურისთვის (3) და 480 DPI ეკრანებისთვის (8). თუ ეს შენ ხარ, მშვენიერია! თუ არა, აანთეთ თქვენი რისკის ქვეშ, რადგან აპები, რომლებიც ეყრდნობიან სერვისებს (რომელიც უმეტესობა მათგანია) შეიძლება შეიცავდეს შეფერხებებს. თქვენი მოწყობილობის მიერ გამოყენებული სამნიშნა იდენტიფიკატორის შესამოწმებლად, იპოვეთ „Google Play services“ Android-ის „აპებში“ პარამეტრების განყოფილება და მოძებნეთ ბოლო სამი ციფრი ვერსიის ნომერში (მაგ.: ვერსია 7.0.99 (1809214-430) ). Წარმატებები!
ბატარეის პრობლემები შემაშფოთებელი და ძვირია, მაგრამ მაინც ეს არის სიმღერა და ცეკვა, რომელსაც ჩვენ ვიცნობთ. მოთმინება აქ ოპერატიული სათნოებაა. მოთმინება და პასუხისმგებელი ROM დეველოპერი. პასუხისმგებელი გუგლიც არ დააზარალებს, მაგრამ ეს შეიძლება ძალიან ბევრს ითხოვს.