បិទការផ្សាយពាណិជ្ជកម្ម

នៅមានមនុស្សមួយចំនួនធំដែលមិនដឹងថា Multitasking ដំណើរការយ៉ាងដូចម្តេចនៅក្នុង iOS។ ទោះយ៉ាងណាក៏ដោយ ដើម្បីចាប់ផ្តើម វាចាំបាច់ក្នុងការចង្អុលបង្ហាញថានេះមិនមែនជាកិច្ចការច្រើនពិតប្រាកដនោះទេ ប៉ុន្តែជាដំណោះស្រាយដ៏ឆ្លាតវៃបំផុតដែលមិនបន្ទុកប្រព័ន្ធ ឬអ្នកប្រើប្រាស់។

ជារឿយៗគេអាចឮអបិយជំនឿដែលកម្មវិធីដែលដំណើរការនៅផ្ទៃខាងក្រោយក្នុង iOS បំពេញអង្គចងចាំប្រតិបត្តិការ ដែលនាំឱ្យប្រព័ន្ធដំណើរការយឺត និងអាយុកាលថ្ម ដូច្នេះអ្នកប្រើប្រាស់គួរតែបិទវាដោយដៃ។ របារកិច្ចការច្រើនពិតជាមិនមានបញ្ជីនៃដំណើរការផ្ទៃខាងក្រោយដែលកំពុងដំណើរការទាំងអស់នោះទេ ប៉ុន្តែមានតែកម្មវិធីដែលទើបតែបានបើកដំណើរការថ្មីៗនេះប៉ុណ្ណោះ។ ដូច្នេះ អ្នក​ប្រើ​មិន​ចាំបាច់​បារម្ភ​អំពី​ដំណើរការ​ដែល​ដំណើរការ​ក្នុង​ផ្ទៃ​ខាង​ក្រោយ​ឡើយ លើក​លែង​តែ​ករណី​មួយ​ចំនួន។ នៅពេលអ្នកចុចប៊ូតុងដើម ជាធម្មតាកម្មវិធីនឹងទៅដេក ឬបិទ ដូច្នេះវាលែងផ្ទុកអង្គចងចាំ ឬថ្ម ហើយបើចាំបាច់ បង្កើនអង្គចងចាំចាំបាច់។

ដូច្នេះ​នេះ​មិនមែន​ជា​កិច្ចការ​ច្រើន​ពេញ​លេញ​ទេ​នៅ​ពេល​ដែល​អ្នក​មាន​ដំណើរការ​រាប់​សិប​កំពុង​ដំណើរការ។ មាន​តែ​កម្មវិធី​មួយ​ប៉ុណ្ណោះ​ដែល​តែងតែ​ដំណើរការ​នៅ​ផ្ទៃ​ខាង​មុខ ដែល​ត្រូវ​បាន​ផ្អាក ឬ​បិទ​ទាំងស្រុង​បើ​ចាំបាច់។ មានតែដំណើរការបន្ទាប់បន្សំមួយចំនួនប៉ុណ្ណោះដែលដំណើរការក្នុងផ្ទៃខាងក្រោយ។ នោះហើយជាមូលហេតុដែលអ្នកនឹងកម្រជួបប្រទះការគាំងកម្មវិធីនៅលើប្រព័ន្ធប្រតិបត្តិការ iOS ឧទាហរណ៍ប្រព័ន្ធប្រតិបត្តិការ Android ត្រូវបានគ្របដណ្តប់ជាមួយកម្មវិធីដែលកំពុងដំណើរការដែលអ្នកប្រើប្រាស់ត្រូវយកចិត្តទុកដាក់។ ម្យ៉ាងវិញទៀត នេះធ្វើឱ្យការធ្វើការជាមួយឧបករណ៍មិនសប្បាយចិត្ត ហើយម្យ៉ាងវិញទៀត វាបណ្តាលឱ្យមានឧទាហរណ៍ ការចាប់ផ្ដើមយឺត និងការផ្លាស់ប្តូររវាងកម្មវិធី។

ប្រភេទកម្មវិធីដំណើរការ

កម្មវិធីនៅលើឧបករណ៍ iOS របស់អ្នកស្ថិតនៅក្នុងរដ្ឋមួយក្នុងចំណោមរដ្ឋទាំង 5 នេះ៖

  • កំពុងរត់៖ កម្មវិធីត្រូវបានចាប់ផ្តើម និងដំណើរការនៅផ្ទៃខាងមុខ
  • ផ្ទៃខាងក្រោយ៖ វានៅតែដំណើរការ ប៉ុន្តែដំណើរការក្នុងផ្ទៃខាងក្រោយ (យើងអាចប្រើកម្មវិធីផ្សេងទៀត)
  • ផ្អាក៖ នៅតែប្រើ RAM ប៉ុន្តែមិនដំណើរការទេ។
  • អសកម្ម៖ កម្មវិធីកំពុងដំណើរការ ប៉ុន្តែពាក្យបញ្ជាដោយប្រយោល (ឧទាហរណ៍ នៅពេលអ្នកចាក់សោឧបករណ៍ជាមួយនឹងកម្មវិធីដែលកំពុងដំណើរការ)
  • មិនដំណើរការ៖ កម្មវិធីបានបិទ ឬមិនទាន់ចាប់ផ្តើម

ភាពច្របូកច្របល់កើតឡើងនៅពេលដែលកម្មវិធីចូលទៅក្នុងផ្ទៃខាងក្រោយ ដើម្បីកុំឱ្យមានការរំខាន។ នៅពេលអ្នកចុចប៊ូតុងដើម ឬប្រើកាយវិការដើម្បីបិទកម្មវិធី (iPad) កម្មវិធីនឹងចូលទៅក្នុងផ្ទៃខាងក្រោយ។ កម្មវិធីភាគច្រើនត្រូវបានផ្អាកក្នុងរយៈពេលប៉ុន្មានវិនាទី (ពួកវាត្រូវបានរក្សាទុកក្នុង RAM របស់ iDevice ដូច្នេះពួកវាអាចដំណើរការបានលឿន ពួកគេមិនផ្ទុក processor ច្រើនទេ ដូច្នេះហើយសន្សំសំចៃថ្ម) អ្នកប្រហែលជាគិតថាប្រសិនបើកម្មវិធីមួយបន្តប្រើអង្គចងចាំ នោះអ្នកមាន ដើម្បីលុបវាដោយដៃ ដើម្បីរំដោះវាឡើង។ ប៉ុន្តែអ្នកមិនចាំបាច់ធ្វើវាទេ ព្រោះ iOS នឹងធ្វើវាសម្រាប់អ្នក។ ប្រសិនបើអ្នកមានកម្មវិធីទាមទារដែលត្រូវផ្អាកក្នុងផ្ទៃខាងក្រោយ ដូចជាហ្គេមដែលប្រើ RAM ច្រើននោះ iOS នឹងដកវាចេញពីអង្គចងចាំដោយស្វ័យប្រវត្តិនៅពេលចាំបាច់ ហើយអ្នកអាចចាប់ផ្តើមវាឡើងវិញដោយចុចលើរូបតំណាងកម្មវិធី។

គ្មានរដ្ឋទាំងនេះណាមួយត្រូវបានឆ្លុះបញ្ចាំងនៅក្នុងរបារកិច្ចការច្រើននោះទេ បន្ទះបង្ហាញតែបញ្ជីនៃកម្មវិធីដែលទើបនឹងដាក់ដំណើរការថ្មីៗនេះ ដោយមិនគិតពីថាតើកម្មវិធីត្រូវបានបញ្ឈប់ ផ្អាក ឬដំណើរការក្នុងផ្ទៃខាងក្រោយនោះទេ។ អ្នកក៏អាចកត់សម្គាល់ផងដែរថាកម្មវិធីដែលកំពុងដំណើរការបច្ចុប្បន្នមិនបង្ហាញនៅក្នុងបន្ទះ Multitasking ទេ។

កិច្ចការផ្ទៃខាងក្រោយ

ជាធម្មតា នៅពេលអ្នកចុចប៊ូតុងដើម កម្មវិធីនឹងដំណើរការក្នុងផ្ទៃខាងក្រោយ ហើយប្រសិនបើអ្នកមិនប្រើវាទេ វានឹងផ្អាកដោយស្វ័យប្រវត្តិក្នុងរយៈពេលប្រាំវិនាទី។ ដូច្នេះ ប្រសិនបើអ្នកកំពុងទាញយកផតខាស ជាឧទាហរណ៍ ប្រព័ន្ធវាយតម្លៃវាជាកម្មវិធីដែលកំពុងដំណើរការ ហើយពន្យារពេលការបញ្ចប់ត្រឹមដប់នាទី។ បន្ទាប់ពីដប់នាទីចុងក្រោយ ដំណើរការត្រូវបានបញ្ចេញចេញពីការចងចាំ។ សរុបមក អ្នកមិនចាំបាច់ព្រួយបារម្ភអំពីការរំខានការទាញយករបស់អ្នកដោយចុចប៊ូតុងដើមទេ ប្រសិនបើវាមិនចំណាយពេលលើសពី 10 នាទីដើម្បីបញ្ចប់វា។

ដំណើរការមិនកំណត់ក្នុងផ្ទៃខាងក្រោយ

ក្នុងករណីអសកម្មប្រព័ន្ធនឹងបញ្ចប់កម្មវិធីក្នុងរយៈពេលប្រាំវិនាទី ហើយក្នុងករណីនៃការទាញយក ការបញ្ចប់ត្រូវបានពន្យារពេលដប់នាទី។ ទោះយ៉ាងណាក៏ដោយ មានកម្មវិធីមួយចំនួនតូចដែលតម្រូវឱ្យដំណើរការក្នុងផ្ទៃខាងក្រោយ។ នេះគឺជាឧទាហរណ៍មួយចំនួននៃកម្មវិធីដែលអាចដំណើរការក្នុងផ្ទៃខាងក្រោយដោយគ្មានកំណត់នៅក្នុង iOS 5៖

  • កម្មវិធី​ដែល​ចាក់​សំឡេង​ហើយ​ត្រូវ​បាន​រំខាន​មួយ​រយៈ (ផ្អាក​តន្ត្រី​កំឡុង​ពេល​ហៅ​ទូរសព្ទ។ល។)
  • កម្មវិធីដែលតាមដានទីតាំងរបស់អ្នក (កម្មវិធីរុករក)
  • កម្មវិធីដែលទទួលការហៅតាម VoIP ឧទាហរណ៍ ប្រសិនបើអ្នកប្រើ Skype អ្នកអាចទទួលការហៅទូរសព្ទបាន ទោះបីជាកម្មវិធីស្ថិតនៅក្នុងផ្ទៃខាងក្រោយក៏ដោយ
  • ការទាញយកដោយស្វ័យប្រវត្តិ (ឧទាហរណ៍ Newsstand) ។

កម្មវិធីទាំងអស់គួរតែត្រូវបានបិទ ប្រសិនបើពួកគេលែងអនុវត្តភារកិច្ច (ដូចជាការទាញយកផ្ទៃខាងក្រោយ)។ ទោះយ៉ាងណាក៏ដោយ មានករណីលើកលែងដែលដំណើរការក្នុងផ្ទៃខាងក្រោយជាបន្តបន្ទាប់ ដូចជាកម្មវិធី Mail ដើម។ ប្រសិនបើពួកគេកំពុងដំណើរការក្នុងផ្ទៃខាងក្រោយ ពួកគេនឹងចាប់យកអង្គចងចាំ ការប្រើប្រាស់ស៊ីភីយូ ឬកាត់បន្ថយអាយុកាលថ្ម

កម្មវិធីដែលត្រូវបានអនុញ្ញាតឱ្យដំណើរការក្នុងផ្ទៃខាងក្រោយដោយគ្មានកំណត់អាចធ្វើអ្វីដែលពួកគេធ្វើខណៈពេលដែលពួកគេកំពុងដំណើរការ ចាប់ពីការចាក់តន្ត្រី រហូតដល់ការទាញយកភាគ Podcast ថ្មី។

ដូចដែលខ្ញុំបានលើកឡើងពីមុន អ្នកប្រើប្រាស់មិនចាំបាច់បិទកម្មវិធីដែលកំពុងដំណើរការក្នុងផ្ទៃខាងក្រោយនោះទេ។ ការលើកលែងតែមួយគត់ចំពោះនេះគឺនៅពេលដែលកម្មវិធីដែលកំពុងដំណើរការក្នុងផ្ទៃខាងក្រោយគាំង ឬមិនភ្ញាក់ពីដំណេកឱ្យបានត្រឹមត្រូវ។ បន្ទាប់មក អ្នកប្រើប្រាស់អាចបិទកម្មវិធីដោយដៃនៅក្នុងរបារកិច្ចការច្រើន ប៉ុន្តែវាកម្រកើតឡើងណាស់។

ដូច្នេះ ជាទូទៅ អ្នកមិនចាំបាច់គ្រប់គ្រងដំណើរការផ្ទៃខាងក្រោយទេ ព្រោះប្រព័ន្ធនឹងថែរក្សាពួកវាដោយខ្លួនឯង។ នោះហើយជាមូលហេតុដែលប្រព័ន្ធ iOS គឺជាប្រព័ន្ធថ្មី និងលឿន។

តាមទស្សនៈរបស់អ្នកអភិវឌ្ឍន៍

កម្មវិធីអាចមានប្រតិកម្មជាមួយនឹងរដ្ឋសរុបចំនួនប្រាំមួយផ្សេងគ្នាដែលជាផ្នែកមួយនៃកិច្ចការច្រើន៖

1. កម្មវិធីWillResignActive

នៅក្នុងការបកប្រែ រដ្ឋនេះមានន័យថាកម្មវិធីនឹងលាលែងពីតំណែងជាកម្មវិធីសកម្ម (នោះគឺជាកម្មវិធីនៅខាងមុខ) នាពេលអនាគត (បញ្ហាពីរបីមីលីវិនាទី)។ វាកើតឡើងជាឧទាហរណ៍ នៅពេលទទួលការហៅទូរសព្ទពេលកំពុងប្រើកម្មវិធី ប៉ុន្តែក្នុងពេលជាមួយគ្នានោះ វិធីសាស្ត្រនេះក៏បណ្តាលឱ្យមានស្ថានភាពនេះផងដែរ មុនពេលកម្មវិធីចូលទៅក្នុងផ្ទៃខាងក្រោយ ដូច្នេះអ្នកត្រូវយកការផ្លាស់ប្តូរទាំងនេះទៅក្នុងគណនី។ វិធីសាស្រ្តនេះក៏សមរម្យផងដែរ ដូច្នេះឧទាហរណ៍ វាផ្អាកសកម្មភាពទាំងអស់ដែលវាកំពុងអនុវត្ត នៅពេលដែលមានការហៅចូល ហើយរង់ចាំរហូតដល់ចុងបញ្ចប់នៃការហៅទូរសព្ទ។

2. កម្មវិធីDidEnterBackground

ស្ថានភាពបង្ហាញថាកម្មវិធីបានចូលទៅក្នុងផ្ទៃខាងក្រោយ។ អ្នកអភិវឌ្ឍន៍គួរតែប្រើវិធីនេះដើម្បីផ្អាកដំណើរការទាំងអស់ដែលមិនចាំបាច់ដំណើរការក្នុងផ្ទៃខាងក្រោយ និងសម្អាតអង្គចងចាំនៃទិន្នន័យដែលមិនប្រើ និងដំណើរការផ្សេងទៀត ដូចជាកម្មវិធីកំណត់ម៉ោងផុតកំណត់ សម្អាតរូបភាពដែលបានផ្ទុកចេញពីអង្គចងចាំដែលមិនចាំបាច់ ឬបិទ។ ការតភ្ជាប់ជាមួយម៉ាស៊ីនមេ លុះត្រាតែវាមានសារៈសំខាន់សម្រាប់កម្មវិធីដើម្បីបញ្ចប់ការតភ្ជាប់ក្នុងផ្ទៃខាងក្រោយ។ នៅពេលដែលវិធីសាស្រ្តត្រូវបានហៅនៅក្នុងកម្មវិធី វាគួរតែត្រូវបានប្រើជាសំខាន់ដើម្បីផ្អាកកម្មវិធីទាំងស្រុង ប្រសិនបើផ្នែកខ្លះនៃវាមិនតម្រូវឱ្យដំណើរការក្នុងផ្ទៃខាងក្រោយ។

3. កម្មវិធីWillEnterForeground

រដ្ឋនេះគឺផ្ទុយពីរដ្ឋដំបូងដែលពាក្យសុំនឹងលាលែងពីតំណែងទៅរដ្ឋសកម្ម។ ស្ថានភាពគ្រាន់តែមានន័យថាកម្មវិធីដែលកំពុងដេកនឹងបន្តពីផ្ទៃខាងក្រោយ ហើយបង្ហាញនៅផ្ទៃខាងមុខក្នុងរយៈពេលពីរបីមិល្លីវិនាទីបន្ទាប់។ អ្នកអភិវឌ្ឍន៍គួរតែប្រើវិធីនេះដើម្បីបន្តដំណើរការណាមួយដែលអសកម្ម ខណៈពេលដែលកម្មវិធីស្ថិតនៅក្នុងផ្ទៃខាងក្រោយ។ ការភ្ជាប់ទៅម៉ាស៊ីនមេគួរតែត្រូវបានចាប់ផ្តើមឡើងវិញ កំណត់ម៉ោងកំណត់ឡើងវិញ រូបភាព និងទិន្នន័យដែលបានផ្ទុកទៅក្នុងអង្គចងចាំ ហើយដំណើរការចាំបាច់ផ្សេងទៀតអាចបន្តឡើងវិញ មុនពេលអ្នកប្រើប្រាស់ឃើញកម្មវិធីដែលបានផ្ទុកម្តងទៀត។

4. កម្មវិធីDidBecomeActive

រដ្ឋបង្ហាញថាកម្មវិធីទើបតែដំណើរការបន្ទាប់ពីត្រូវបានស្ដារឡើងវិញទៅផ្ទៃខាងមុខ។ នេះគឺជាវិធីសាស្រ្តដែលអាចត្រូវបានប្រើដើម្បីធ្វើការកែតម្រូវបន្ថែមទៅលើចំណុចប្រទាក់អ្នកប្រើប្រាស់ ឬដើម្បីស្ដារ UI ទៅកាន់សភាពដើមរបស់វា ។ល។ វាកើតឡើងនៅពេលអ្នកប្រើប្រាស់បានឃើញកម្មវិធីនៅលើអេក្រង់រួចហើយ ដូច្នេះចាំបាច់ត្រូវ កំណត់ដោយប្រុងប្រយ័ត្ននូវអ្វីដែលកើតឡើងនៅក្នុងវិធីសាស្រ្តនេះ និងក្នុងវិធីសាស្រ្តមុន។ ពួកវាត្រូវបានគេហៅថាមួយបន្ទាប់ពីមួយផ្សេងទៀតដែលមានភាពខុសគ្នាពីរបីមីលីវិនាទី។

5. កម្មវិធីនឹងបញ្ចប់

ស្ថានភាពនេះកើតឡើងពីរបីមិល្លីវិនាទីមុនពេលកម្មវិធីចាកចេញ ពោលគឺមុនពេលកម្មវិធីបិទពិតប្រាកដ។ ទាំងដោយដៃពីកិច្ចការច្រើន ឬនៅពេលបិទឧបករណ៍។ វិធីសាស្ត្រគួរតែត្រូវបានប្រើដើម្បីរក្សាទុកទិន្នន័យដែលបានដំណើរការ ដើម្បីបញ្ចប់សកម្មភាពទាំងអស់ និងលុបទិន្នន័យដែលនឹងលែងត្រូវការតទៅទៀត។

6. កម្មវិធីDidReceiveMemoryWarning

វាជារដ្ឋចុងក្រោយដែលត្រូវបានពិភាក្សាច្រើនបំផុត។ វាទទួលខុសត្រូវចំពោះ ការដកកម្មវិធីចេញពីអង្គចងចាំ iOS ប្រសិនបើវាប្រើប្រាស់ធនធានប្រព័ន្ធដោយមិនចាំបាច់។ ខ្ញុំមិនដឹងថា iOS ធ្វើអ្វីជាមួយកម្មវិធីផ្ទៃខាងក្រោយនោះទេ ប៉ុន្តែប្រសិនបើវាត្រូវការកម្មវិធីមួយដើម្បីបញ្ចេញធនធានទៅកាន់ដំណើរការផ្សេងទៀត វាជំរុញឱ្យវាមានការព្រមានអំពីអង្គចងចាំដើម្បីបញ្ចេញធនធានអ្វីដែលវាមាន។ ដូច្នេះវិធីសាស្រ្តនេះត្រូវបានគេហៅថានៅក្នុងកម្មវិធី។ អ្នកអភិវឌ្ឍន៍គួរតែអនុវត្តវា ដើម្បីឱ្យកម្មវិធីបោះបង់អង្គចងចាំដែលវាបានបម្រុងទុក រក្សាទុកអ្វីគ្រប់យ៉ាងដែលកំពុងដំណើរការ សម្អាតទិន្នន័យដែលមិនចាំបាច់ចេញពីអង្គចងចាំ ហើយបើមិនដូច្នេះទេ ធ្វើឱ្យអង្គចងចាំទំនេរគ្រប់គ្រាន់។ វាជាការពិតដែលអ្នកអភិវឌ្ឍន៍ជាច្រើន សូម្បីតែអ្នកចាប់ផ្តើមដំបូងក៏មិនគិតពី ឬយល់ពីរឿងបែបនេះដែរ ហើយបន្ទាប់មកវាអាចកើតឡើងដែលថាកម្មវិធីរបស់ពួកគេគំរាមកំហែងដល់អាយុកាលថ្ម និង/ឬប្រើប្រាស់ធនធានប្រព័ន្ធដោយមិនចាំបាច់ សូម្បីតែនៅក្នុងផ្ទៃខាងក្រោយក៏ដោយ។

សាលក្រម

រដ្ឋទាំងប្រាំមួយនេះ និងវិធីសាស្រ្តដែលពាក់ព័ន្ធរបស់ពួកគេ គឺជាផ្ទៃខាងក្រោយនៃ "ការធ្វើកិច្ចការច្រើន" ទាំងអស់នៅក្នុង iOS ។ វាជាប្រព័ន្ធដ៏អស្ចារ្យមួយ ដរាបណាអ្នកអភិវឌ្ឍន៍មិនព្រងើយកន្តើយចំពោះការពិតដែលថា ចាំបាច់ត្រូវមានការទទួលខុសត្រូវចំពោះអ្វីដែលកម្មវិធីបោះចោលនៅលើឧបករណ៍របស់អ្នកប្រើប្រាស់របស់ពួកគេ ប្រសិនបើពួកគេត្រូវបានបង្រួមអប្បបរមា ឬទទួលបានការព្រមានពីប្រព័ន្ធជាដើម។

ប្រភព៖ macworld.com

អ្នកនិពន្ធ៖ Jakub Požárek, Martin Doubek (ArnieX)

 
តើអ្នកមានបញ្ហាក្នុងការដោះស្រាយដែរឬទេ? តើអ្នកត្រូវការដំបូន្មាន ឬប្រហែលជាស្វែងរកកម្មវិធីត្រឹមត្រូវ? កុំស្ទាក់ស្ទើរក្នុងការទាក់ទងមកយើងតាមរយៈទម្រង់នៅក្នុងផ្នែក ការប្រឹក្សាយោបល់លើកក្រោយ យើងនឹងឆ្លើយសំណួររបស់អ្នក។

.