რატომ ითიშება ჩანაცვლება თავისით ფონურ რეჟიმში Xiaomi-ზე?

MIUI და HyperOS (Xiaomi, Redmi, POCO) ფონურ აპებს სხვებზე აგრესიულად თიშავს. ჩართეთ Mock Location-ისთვის ავტოგაშვება და მოხსენით ბატარეის შეზღუდვები — აპი ამას პირველივე გაშვებისას გთავაზობთ.

ჩანაცვლებას ფონური სერვისი ინარჩუნებს, და „თავისით გაითიშა“ თითქმის ყოველთვის ნიშნავს, რომ პროგრამულმა გარსმა ის დახურა. სისტემის ჟურნალებში ეს ჩანს როგორც სისტემის მიერ პროცესის იძულებითი შეჩერება და არა აპის შეცდომა.

შემდეგ ხდება რაღაც არააშკარა: სატესტო პროვაიდერები Android-ში ბოლო ჩაწერილი მნიშვნელობით რეგისტრირებული რჩება, მაგრამ მათში ახალ კოორდინატებს არავინ წერს — პროცესი, რომელმაც ისინი შექმნა, აღარ არსებობს. გარედან ეს „ჩანაცვლება გაიყინა“-ს ჰგავს: წერტილი იგივე რჩება, მაგრამ აღარ ახლდება, გარკვეული დროის შემდეგ კი სისტემა ნამდვილ მდებარეობას აბრუნებს. ამიტომ პრობლემას ხშირად მაშინვე ვერ ამჩნევენ.

ამას ყველაზე ხშირად Xiaomi-ს, Redmi-სა და POCO-ს მფლობელები აწყდებიან: MIUI და HyperOS ფონურ პროცესებს სხვებზე მკაცრად მართავს. ეს სამი პარამეტრით სწორდება — ავტოგაშვება, ბატარეის შეზღუდვების მოხსნა და აპის ჩაკეტვა ბოლო აპებში; ზუსტი გზებით მიმოხილვა — Xiaomi-ს ცალკე ინსტრუქციაში. თუ სამიდან მხოლოდ ერთს გააკეთებთ, ჩართეთ ავტოგაშვება: მის გარეშე პროცესის დახურვის შემდეგ სისტემა სერვისს საერთოდ არ დააბრუნებს და ჩანაცვლება არ აღდგება, სანამ აპს თავად არ გახსნით. ჩართული ავტოგაშვებით სისტემა სერვისს წამებში აბრუნებს, აპი შენახულ მდგომარეობას იღებს და თქვენი მონაწილეობის გარეშე აგრძელებს.

Samsung-ზე მიზეზი იგივეა, მაგრამ მექანიზმს „მძინარე აპები“ ჰქვია: One UI ავტომატურად აძინებს იმას, რაც დიდხანს არ გამოგიყენებიათ, ჩანაცვლების აპი კი სწორედ მაშინ ჩანს უმოქმედოდ, როცა ტელეფონი ჯიბეშია. One UI-ის გზები — Samsung-ის ინსტრუქციაში. Huawei-სა და Honor-ზე გამორთეთ გაშვების ავტომატური მართვა და ჩართეთ სამივე გადამრთველი — ავტოგაშვება, მეორადი გაშვება და ფონურ რეჟიმში მუშაობა; დეტალები — Huawei-ს ინსტრუქციაში.

თავის მხრივ, აპი ორ დამოუკიდებელ რამეს აკეთებს. გახსნისას ის შენახულ მდგომარეობას ფაქტობრივს ადარებს და, თუ პროცესი მოკვდა, ჩანაცვლებას აბრუნებს — ეს გზა ყოველთვის მუშაობს. გარდა ამისა, საკონტროლო ტაიმერი პერიოდულად ამოწმებს მდგომარეობას ფონურ რეჟიმში და სერვისის თავად აღდგენას ცდილობს. მაგრამ ორივეს აქვს ზღვარი: თუ პროგრამული გარსი აპს ფონურ რეჟიმში გაშვებას უკრძალავს, სერვისის თქვენ გარეშე დაბრუნება შეუძლებელია — კოდი იმ მომენტში უბრალოდ არ სრულდება. ამიტომ გარსის პარამეტრების პროგრამულად ჩანაცვლება შეუძლებელია.

შედეგის შემოწმება ყველაზე მარტივად პანელში მუდმივი შეტყობინებით შეიძლება: სანამ ის იქაა, სერვისი ცოცხალია. თუ გაქრა, სისტემამ მაინც მიაღწია მას და ზემოთ აღწერილ პარამეტრებს უნდა დაუბრუნდეთ.

კიდევ გაქვთ კითხვები? მიწერეთ მხარდაჭერას.