Гэр / Компьютер эзэмших / Android 5 олон цонхны нэмэлт. "Олон цонх"-ыг хэрхэн идэвхжүүлэх вэ: Marshmallow дахь туршилтын онцлог. Lollipop дахь цонхны менежмент

Android 5 олон цонхны нэмэлт. "Олон цонх"-ыг хэрхэн идэвхжүүлэх вэ: Marshmallow дахь туршилтын онцлог. Lollipop дахь цонхны менежмент

Орчуулах... Хятад (Хялбаршуулсан) Хятад (Уламжлалт) Англи Франц Герман Итали Португал Орос Испани Турк Орчуулах

Харамсалтай нь бид яг одоо энэ мэдээллийг орчуулах боломжгүй байна - дараа дахин оролдоно уу.

Хяналт

Андройд дээр олон цонхтой нэгэн зэрэг ажиллах нь таны програмыг бусад олон програмаас ялгаж, өрсөлдөхүйц нэмэлт давуу талыг өгөх сонирхолтой функц юм. Samsung, Ramos, Huawei зэрэг олон OEM болон ODM-ууд үндсэн зарчмаар ажилладаг Android системэцсийн боловсруулалт. Ялангуяа тэд олон цонхны горимыг дэмждэг. Тэд ухаалаг утас, таблетынхаа сэтгэл татам байдлыг нэмэгдүүлэх, ийм функцийг дэмждэггүй ихэнх төхөөрөмжүүдээс ялгахын тулд үүнийг хийдэг.

Зураг 1. Олон цонхны горимыг ашиглах хувилбарууд

Урьдчилсан мэдээлэл

2012 оны зургадугаар сард танилцуулсан Булангийн чулуунь Android дээр олон үйлдэл хийх анхны нээлттэй эхийн платформ юм. 2012 оны 8-р сард Samsung олон цонхны ажиллагааг дэмждэг анхны төхөөрөмжийг гаргасан. 2013 оноос өнөөг хүртэл Android үйлдлийн систем дээр олон цонхтой нэгэн зэрэг ажиллахад туслах шийдлүүдийн асар их өсөлтийг та харж байна.

2015 оны 5-р сард Android M Developer Preview гарсан (өнөөдөр 7-р сард Preview 2 аль хэдийн бэлэн болсон). Android M (6.0)-ийн албан ёсны хувилбар 2015 оны намар гарах төлөвтэй байна. Бусад шинэлэг зүйлүүдээс Android M Preview 2 нь олон цонхны горимыг дэмждэгээрээ онцлог юм.

Зураг 2. Android Multitasking шийдлүүдийг хөгжүүлэх

Олон цонхтой ажиллах хоёр арга байдаг: хөвөгч цонх, залгагдсан цонх. Олон цонхны горимд ажиллах үндсэн шинж чанаруудын нэг нь цонхыг нээх, хаах (нээх / хаах), хэмжээг өөрчлөх (хэмжээг өөрчлөх) болон харьцангуй байрлал(солилцох). Цонх нээх эсвэл хаах үед бид олон цонхны горимыг идэвхжүүлж эсвэл идэвхгүй болгодог. Хэмжээг өөрчлөх функц нь цонхны хэмжээг тохируулах боломжийг танд олгоно. Цонхны байршлыг өөрчлөх нь тэдгээрийг солих боломжийг олгодог үйлдэл юм.

Зураг 3.Олон цонхны цонхны загварууд

2013 онд зах зээл дээр олон цонхтой ажиллахад зориулагдсан олон шийдэл гарч ирэв. Тэдгээрийг OEM болон ODMs, ISVs болон нээлттэй эх сурвалжийн нийгэмлэгүүд боловсруулсан. Доорх хүснэгтээс та Android олон цонхны янз бүрийн технологиудын харьцуулалтыг харж болно.

БүтээгдэхүүнБулангийн чулуу Ялгарах Xposed Тието
ТодорхойлолтAndroid үйлдлийн систем дээр олон ажлыг зохион байгуулах хүрээХөвөгч цонхтой програмуудыг бүтээхэд ашиглаж болох нээлттэй эхийн номын санДоктой цонхыг дэмждэг олон цонхтой програмТөсөл нь ширээний компьютер дээр ажиллаж байгаа мэт ажлын орчинг бүрдүүлэх зорилготой юм
Цонх нээх, хаах, хэмжээг өөрчлөх, бүтэн дэлгэцэнд зориулсан дэмжлэгТиймээТиймээТиймээТиймээ
Цонхны хэв маягБэхэлсэнхөвөгчБэхэлсэнТогтмол, хөвөгч
Кодын өөрчлөлтТүвшинд Android платформууд Хэрэглээний түвшиндAndroid платформын түвшиндAndroid платформын түвшинд
Хэрэглээний дэмжлэгБүх програмуудыг дэмждэг боловч SurfaceView динамикаар тохируулагдаагүй байна.Зарим туслах програмууд. Жишээлбэл, тооцоолуур.Шийдлийн нийцтэй байдал, тогтвортой байдлыг сайжруулах шаардлагатай.Бүх програмуудыг дэмждэг.
Android хувилбарAndroid 4.1 ~ Android 4.4Android 4.1~
Android 4.4
Android 4.4Android 4.4
Албан ёсны сайтhttp://www.onscreen.comhttp://forum.xda-developers.com/showthread.php?t=1688531http://forum.xda-developers.com/xposedhttps://github.com/tieto/multiwindow_for_android

Програм хангамжийн архитектур

Андройд платформын кодыг дэмжлэгтэйгээр тоноглохын тулд өөрчилж болно нэмэлт функцууд. Android үйлдлийн систем нь хэд хэдэн давхаргаас бүрдэнэ.

Android 4.2 болон Android 4.3.-ийн хувьд бүрхүүл (эхлүүлэгч) болон бусад програмуудыг эхлүүлэх үед "үндсэн стек" ("үндсэн стек") гэж нэрлэгддэг ижил стек дээр байрладаг. Таны мэдэж байгаагаар олон цонхны горим нь олон цонхыг байрлуулахын тулд илүү олон стек шаарддаг. Үүний үр дүнд бид ActivityManagerService системийн ангид стек үүсгэх, удирдах интерфэйсийг нэмж өөрчлөх хэрэгтэй. Удирдах боломжийг олгодог WIndowManagerService платформын ангиллыг өөрчлөх график дүрслэлпрограмуудыг ашиглахын тулд та InputManager-ийг өөрчлөх хэрэгтэй. Энэ нь мэдрэгчтэй үйл явдлуудыг тохирох цонх руу дахин чиглүүлэхэд зайлшгүй шаардлагатай.

Android 4.4 болон Android 5.0 хувилбаруудыг гаргаснаар стек удирдах арга барил ихээхэн өөрчлөгдсөн. Бүрхүүл болон бусад програмууд нь өөр өөр стек дээр ажиллах боломжтой. Олон стекийг дэмжих, тэдгээрийг удирдах чадварыг системд нэмсэн. Доорх зураг нь стектэй ажиллах ялгааг харуулж байна өөр өөр хувилбарууд Android.

Зураг 4 Android 4.3 ба Android 4.4 дээр стектэй ажиллах харьцуулалт

Одоо Android 5 (Lollipop) дээр анхаарлаа хандуулцгаая. Android үйлдлийн систем нь үйл ажиллагааны интерфэйсийн функцийг гүйцэтгэхийн тулд буцаан дуудах механизмыг ашигладаг. Гэсэн хэдий ч хяналтын функцийг платформын түвшинд хэрэгжүүлдэг. Тиймээс бид одоо ActivityManagerService болон WindowManagerService гэсэн хоёр чухал ангийг авч үзэх болно.

Зураг 5 Lollipop платформ програм хангамжийн бүтэц

Lollipop дахь үйл ажиллагааг удирдах

Олон цонхны горимд ажиллах чадвар нь стекээс шалтгаалдаг тул та стекийг хэрхэн үүсгэх болон энэ стек дэх Activity-г хэрхэн эхлүүлэхийг доор харуулав. Lollipop дээр дараах функцуудыг IactivityManager.java интерфейс дээр нэмсэн:

Системийн серверийн процессыг эхлүүлсний дараа Үйл ажиллагааны менежерийн үйлчилгээ болон цонхны удирдлагын үйлчилгээг дууддаг. Энэ үйл явцыг ажиглахын тулд бид тохирох газруудад ажиллах үеийн онцгой тохиолдол (RuntimeException) оруулах тушаалуудыг нэмж болно.

Зураг 6 Lollipop дээр стек үүсгэх процесс

Одоо стек дээрх үйл ажиллагааг хэрхэн эхлүүлэхийг харцгаая:

Зураг 7 Стек дээрх үйл ажиллагааг эхлүүлж байна

Lollipop дээр adb (android дибаг хийх гүүр) дараах тушаалуудыг нэмсэн.

Lollipop дээр дараах тушаалуудыг ADB (Android Debug Bridge) хэрэгсэлд нэмсэн:

Lollipop дахь цонхны менежмент

WindowManagerService нь цонхны удирдлагын системийн гол хэсэг юм. Үүний функц нь оролтын үйл явдлуудыг илгээх, дэлгэц дээрх объектуудын байршил, график элементүүдийг харуулсан гадаргууг удирдах зэрэг орно.

Зураг 8 Android графикийн архитектур дахь WindowsManagerService-ийн үүрэг

Олон цонхны асуудал

Олон цонхны горимд ажиллах үед цонхны хэмжээг өөрчлөх боломжтой. Тоглоомын хөдөлгөөнт дүрсийг харуулах цонхны хэмжээг өөрчлөх боломжгүй жишээ байдаг. Үүний гол шалтгаан нь Android SurfaceFlinger дэд систем нь үзүүлсэн зургийн хэмжээг динамикаар өөрчилж чадахгүй байгаа явдал юм.

Зураг 9 SurfaceFlinger ашигладаг тоглоомууд цонхны хэмжээг динамикаар өөрчлөх боломжгүй

Өөр нэг асуудал бол олон цонхны горимд байгаа зарим програмууд буруу харагдаж байна. Доорх зураг дээр та олон цонхны тооцоолуур зөв харагдахгүй байгааг харж болно. Энэ нь зориулалтын бус програмын зохион байгуулалттай холбоотой юм ижил төстэй нөхцөлашиглах.

Зураг 10.Олон цонхны горимд ажиллахад зориулагдаагүй байршилтай тооцоолуур

Android M дээрх олон цонхны дэмжлэг

Android M Developer Preview 2-г Nexus 5, 6, 9 болон Nexus Player дээр ажиллуулах боломжтой. Хэрэв танд ийм төхөөрөмж байхгүй эсвэл Preview төлөвт байгаа үйлдлийн систем суулгахыг хүсэхгүй байгаа бол Android Studio дээрх эмулятор ашиглан Android M-тэй танилцах боломжтой. Ялангуяа бид одоо сонирхож байна стандарт гэсэн үголон цонхны горимд ажиллах.

Энэ горимыг хэрхэн ажиллаж байгааг харахын тулд AVD Manager хэрэгслийг ашиглан шинэ виртуал төхөөрөмж үүсгэхэд хангалттай бөгөөд Level MNC API-тай боломжтой төхөөрөмжүүдийн аль нэгийг нь системийн дүрс болгон сонгоход хангалттай. Манай тохиолдолд энэ нь x86_64 зураг байсан. Дараа нь та эмуляторыг эхлүүлж, Хөгжүүлэгчийн тохиргооны хэсэг рүү очоод олон цонхны сонголтыг идэвхжүүлэх хэрэгтэй. Хэрэв та энэ сонголтыг олж чадахгүй бол энэ гарын авлагыг харна уу

Одоо хамгийн сонирхолтой нь. Эхлэгчдэд та хэд хэдэн програм ажиллуулж болно, бүх зүйл ердийнх шиг байх болно. Хэрэв та саяхан нээгдсэн програмуудын жагсаалтыг дуудах товчийг дарвал цонхны гарчиг дээр өнгөц зураг гарч ирнэ. шинэ дүрс. Анхдагч байдлаар, энэ нь програм ажиллаж байгааг илтгэх хүрээ юм бүтэн дэлгэцийн горим. Энэ дүрс дээр дарснаар цонхны байршлыг сонгох цэс гарч ирнэ.

Зураг 11.Android M дээрх олон цонхны горим

Android M-ийн албан ёсны хувилбарт олон цонхтой байх эсэх нь одоогоор тодорхойгүй байна. Гэсэн хэдий ч, жишээлбэл, энэ горимд байгаа системийн тооцоолуур нь сайн мэдрэмж төрүүлдэг. Үүний үр дүнд програмуудыг олон цонхны горимд дасан зохицох нь өрсөлдөөний давуу тал байснаас яаралтай хэрэгцээ болж хувирах өдөр холгүй байна гэж итгэх хангалттай үндэслэл бий.

Хэрэв та илүү олон зүйлд зориулагдсан програмуудаа тоноглохыг хүсвэл эрт хувилбарууд Android, олон цонхны дэмжлэгтэйгээр дээр дурдсан гуравдагч талын шийдлүүдийг ашиглах цаг болжээ. Жишээлбэл, Cornerstone руу.

Жишээ нь: Булангийн чулуу

Onskreen Android-д зориулсан анхны олон цонхны хүрээ болох Cornerstone-г бүтээжээ. Энэ нь том дэлгэц, таблет бүхий төхөөрөмжүүдэд зориулагдсан. Эх кодыг Github-аас татаж авах боломжтой. Энэ нь Android 4.1 болон 4.2 хувилбаруудыг дэмждэг. Энэ үйлдлийн системийн дараагийн хувилбаруудын хувьд Cornerstone хараахан гараагүй байна. Гэсэн хэдий ч та систем хэрхэн ажилладаг талаар техникийн дэлгэрэнгүй мэдээллийг олж мэдэхийн тулд Android 4.2-ийн эх кодыг шинжлэх боломжтой.

Зураг 12. Android Jelly Bean дээрх булангийн чулуун өөрчлөлтүүд

Үр дүн

Олонд хөдөлгөөнт төхөөрөмждор ажиллаж байна Android удирдлага OS ашигласан Intel процессорууд®. Хөгжүүлэгчид өөрсдийн програмын хэрэглэгчийн туршлагыг хэрхэн сайжруулах вэ? Өргөдлийг хэрхэн өрсөлдөх чадвартай болгох вэ? Эдгээр асуултууд биднийг Intel Architecture (IA) төхөөрөмжүүд дээрх бүтээгдэхүүнийг тасралтгүй сайжруулахад түлхэж байна. Олон цонхны дэмжлэг сайн жишээаппликешнүүдэд өрсөлдөх давуу тал олгодог ашигтай функц. Энэ нь тохиромжтой, олон цонхны горим нь хэрэглэгчдэд хэд хэдэн ажлыг нэгэн зэрэг гүйцэтгэх боломжийг олгодог. Жишээлбэл, видео үзэж, найз нөхөддөө үзэж байгаа зүйлийн талаар сэтгэгдэл бичээрэй. Жишээлбэл, тоглоом тоглож, түүний сэтгэгдлийг унших. Өнөөдөр олон төхөөрөмж олон цонхны ажиллагааг дэмждэг. Жишээлбэл, эдгээр нь Remix үйлдлийн системтэй Ramos i12, Teclast x98, Cube i7 таблетууд юм.

Зураг 13.IA төхөөрөмж дээрх олон цонхны горим

Android 6.0-ийн албан ёсны мэдэгдэл өнгөрсөн намар болсон. Ямар ч томоохон шинэчлэлтийн хувьд Marshmallow авчирсан олон тооны Google-ээс гар утасны үйлдлийн системд гарсан өөрчлөлтүүд. Гэсэн хэдий ч саяхан системийн зарим функцууд энгийн хэрэглэгчдийн нүднээс далд байдаг нь тогтоогджээ. Нуугдсан функцэд хандахын тулд та хэд хэдэн энгийн алхмуудыг хийх хэрэгтэй. Энэ нийтлэлд бид Android 6.0 дээр олон цонхны горимыг хэрхэн идэвхжүүлэхийг харуулах болно.

Юуны өмнө үүнийг хэлэх ёстой энэ зааварЭнэ нь зөвхөн төхөөрөмж дээрээ үндсэн эрхийг авсан хэрэглэгчдэд хамааралтай байх болно.


Дахин ачаалсны дараа бүх нээлттэй програмуудын цэсэнд нэмэлт дүрс гарч ирэх бөгөөд энэ нь танд Android 6.0 Marshmallow дээр олон цонхны горимыг ашиглах боломжийг олгоно.

Харамсалтай нь функциональ байдал энэ горимөнөөг хүртэл маш хязгаарлагдмал. Хэрэглэгч цонхны өргөнийг бие даан өөрчлөх эсвэл харуулах програмуудыг сонгох боломжгүй. Хөгжүүлэгч өөрөө энэ функцийг туршилт гэж нэрлэдэг бөгөөд энэ нь зөвхөн дараагийн шинэчлэлтүүдээр бүрэн ажиллаж эхэлнэ. Тохируулсан програм хангамжийн хувилбаруудад, жишээлбэл,

Бидний аль хэдийн мэдэж байгаачлан андройд хувилбар Nougat нь хэрэглэгчийн туршлагыг аль болох жигд болгох олон боломжуудтай. Үндсэн мөчүүд хамгийн сүүлийн үеийн шинэчлэлАндройд нь сайжруулсан мэдэгдлийн самбар, өгөгдөл дамжуулах, эрчим хүч хэмнэх оновчлол, төхөөрөмжийн дэмжлэг зэргийг агуулдаг виртуал бодит байдал. Маш олон шүтэн бишрэгчдийг (биднийг оруулаад) хүртсэн инновацийн хамгийн чухал талуудын нэг бол даалгаврын удирдлагын багц сонголтууд юм. Баярлалаа хамгийн сүүлийн үеийн шинэчлэл Android 7.0 Nougat, та одоо олон цонхны горимд хоёр програмыг нэгэн зэрэг ашиглах боломжтой.

Анхаарна уу

Бүх аппликейшн адил тэгш бүтээгдээгүй гэдгийг бид танд мэдэгдэхийг хүсч байна.
мөн энэ шалтгааны улмаас тэдгээр нь бүгд олон цонхны горимд тохирохгүй байгааг олж мэдэх болно. Гэсэн хэдий ч, та санаа зовох хэрэггүй - энэ нь таны буруу биш, харин хөгжүүлэгчдийн буруу, учир нь бусад програмууд дээрх горимд ажиллахаас өмнө дараагийн шинэчлэлтийг бий болгоход бага зэрэг хугацаа шаардагдана. Өнөөдөр энэ асуудлыг тойрч гарах арга зам байна. Та "Хөгжүүлэгчийн хэрэгсэл" хэсгээс олон цонхны горимд ямар ч програмыг ажиллуулж болно Хамгийн сүүлийн үеийн хувилбаргар утас үйлдлийн систем Google-ээс.

Android Nougat дээр олон цонхны горимд дурын програмыг ажиллуулна

Эхлээд та утсан дээрх "Хөгжүүлэгчийн хэрэгсэл" хэсгийг идэвхжүүлэх хэрэгтэй. Үүнийг хийхийн тулд "Тохиргоо> Хөгжүүлэгчийн хэрэгсэл> Төхөөрөмжийн тухай" схем рүү очно уу. Дараа нь та хөгжүүлэгч болсон гэсэн мессежийг харах хүртэл бүтээх дугаар дээр хэд хэдэн удаа дарна уу.

Одоо дахин тохиргооны цэс рүү буцаж очоод Хөгжүүлэгчийн хэрэгслийг нээнэ үү. Хуудасны доод тал руу гүйлгээд "Үйл ажиллагааны хэмжээг өөрчлөх" сонголтыг идэвхжүүлнэ үү. Үүнийг хийснээр та идэвхжүүлэхийн тулд төхөөрөмжөө дахин асаах хэрэгтэй болно энэ сонголт. Үүний дараа Nougat-ийн шинэчлэлттэй тохирохгүй байсан програмууд ч олон цонхны горимд ажиллах боломжтой болно.

Эцэст нь, олон цонхны горимыг ашиглахын тулд өөрийн сонгосон хоёр програмыг нээж, дараа нь олон үйлдэл хийх товчлуурыг удаан дар. Эдгээр хоёр програм хоёулаа олон цонхны горимд нээгдэнэ.

Олон цонхны горим нь таны олон талт хэрэгцээнд хэрэг болно гэж та бодож байна уу? Эсвэл та илүү уламжлалт нэг даалгавартай арга барилыг баримтлах уу Энэ мөч? Сэтгэгдэл дээр бидэнтэй санал бодлоо хуваалцаарай.

Эхлээд харахад харагдахгүй, хэрэглэгчийн нүднээс далд байдаг хэд хэдэн шинэлэг зүйл бий. Хяналтын самбар дээрх дүрсийг өөрчлөх, мөн цэнэгийг хувиар харуулах гэх мэт чиптэй бол хүн бүр аль хэдийн уулзсан байх, гэхдээ харамсалтай нь та араагаа бариад олон цонхыг асааж чадахгүй. Яаж байх вэ?

Тийм ээ, Android 6.0 дээр ажиллаж байгаа хоёр програмыг дэлгэцэн дээр нэгэн зэрэг байрлуулах боломж үнэхээр хангагдсан боловч тус компани үүнд хандах хандалтыг өгөхөд хараахан бэлэн болоогүй байна, учир нь уг функцийг боловсруулж байгаа бөгөөд идэвхжүүлэх нь үүнд хүргэж болзошгүй юм. найдваргүй ажил. Гэхдээ хэрэв та үнэхээр оролдохыг хүсч байвал яах вэ?

Процесс нь хэдхэн секунд үргэлжлэх боловч "системийн" үндсэн хавтсанд байрлах нэг файлд өөрчлөлт оруулахын тулд төхөөрөмж root-тэй байх ёстой.

Таны хийх ёстой зүйл бол мөр нэмэх явдал юм

persist.sys.debug.multi_window=үнэн

файлын төгсгөл хүртэл бүтээх. тулгуур.

Засварыг файлд хадгалж, төхөөрөмжийг дахин ачаалсны дараа та сүүлийн үеийн програмын таб дээр шинэ сонголтыг харах болно.

Одоогоор Маршмаллоу дахь олон цонхтой байх нь танд таалагдахгүй байх магадлалтай, учир нь хэд хэдэн хязгаарлалт байдаг. Цонхны хэмжээг өөрчлөх боломжгүй, хоёр дахь програмыг өөрөө сонгоно уу (систем нь хамгийн сүүлийн үеийн програмуудын таб дээр ажиллуулсны дараа шууд автоматаар нээгдэнэ). Гэсэн хэдий ч, энэ бол туршилтын шинж чанар бөгөөд бүх зүйл зохих ёсоор ажиллах хүртэл хэсэг хугацаа шаардагдах болно гэдгийг бүү мартаарай.

Олон цонхны дэмжлэг үзүүлэх ажил аль хэдийн хийгдэж байгаа нь "цэвэр" Андройдын бүх хэрэглэгчдэд таалагдах нь дамжиггүй бөгөөд магадгүй тэдний төхөөрөмж дээр ийм функцтэй байхыг хүсч байсан (ялангуяа үүнийг харгалзан үзвэл). Samsung-ийн эзэд, LG, Sony энэ нь удаан хугацааны туршид бэлэн болсон). Тиймээс бид удаан хүлээгдэж буйг харж байна ашигтай шинж чанаруудЭнэ нь системийг илүү практик, бүрэн гүйцэд болгодог.

Andro4all дагуу