នៅមានមនុស្សមួយចំនួនធំដែលមិនដឹងថា 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)
តើអ្នកមានបញ្ហាក្នុងការដោះស្រាយដែរឬទេ? តើអ្នកត្រូវការដំបូន្មាន ឬប្រហែលជាស្វែងរកកម្មវិធីត្រឹមត្រូវ? កុំស្ទាក់ស្ទើរក្នុងការទាក់ទងមកយើងតាមរយៈទម្រង់នៅក្នុងផ្នែក ការប្រឹក្សាយោបល់លើកក្រោយ យើងនឹងឆ្លើយសំណួររបស់អ្នក។
ជំរាបសួរ, ពិតជាអត្ថបទល្អ, ប៉ុន្តែខ្ញុំឆ្ងល់ថាតើអ្នកមានជំនួយបច្ចេកទេសណាមួយសម្រាប់វា។ ដោយសារតែខ្ញុំបានដោះស្រាយបញ្ហាថ្មជាច្រើនដងនៅពេលល្ងាចមុនពេលចូលគេង ហើយវាបានកើតឡើងនៅពេលដែលបិទ wifi និងទិន្នន័យទូរសព្ទដៃ វាចំណាយពេលច្រើនជាងករណីមួយទៀតដែល wifi បិទ ហើយមានតែ 3G ប៉ុណ្ណោះ។
ជាអកុសល បទពិសោធន៍គឺថានៅក្នុង iOS កម្មវិធីត្រូវតែបិទដោយដៃ ហើយប្រព័ន្ធលែងដំណើរការដូចពីមុនទៀតហើយ។
ខ្ញុំបានជំនួសទូរស័ព្ទ iPhone របស់ខ្ញុំជាមួយ Windows Phone (Samsung Omnia W សម្រាប់ 6200,-) ហើយល្បឿននៃប្រព័ន្ធគឺនៅកម្រិតខុសគ្នាទាំងស្រុង។
ខ្ញុំខ្លាចថានៅពេលដែលថេប្លេត Windows 8 Metro ចេញមក ខ្ញុំក៏នឹងជំនួស iPad...
@007 – បាទ ប្រសិនបើអ្នកកំពុងប្រៀបធៀប iPhone3Gs ចាស់ទៅនឹង WP ថ្មី នោះបាទ (តើអ្នកណានឹងរំពឹងថា?) WP នឹងលឿនជាងបន្តិច។ បើមិនដូច្នេះទេ ការនិយាយដើមអំពី Karlulka មិនល្អជាមួយអ្នកទេ ហើយវាជាការសមរម្យក្នុងការប្រៀបធៀប HW បច្ចុប្បន្ន។ ខ្ញុំក៏បានទិញ WP7 ហើយទីបំផុតបានបញ្ចប់ដោយ 4s ដែលតំណាងឱ្យកម្រិតនៃការប្រើប្រាស់ខុសគ្នាទាំងស្រុងជាង WP7 ។ ដូច្នេះឆ្លងកាត់ដោយរីករាយនិងគ្មានទីបញ្ចប់រមូរតាមក្រឡាក្បឿង។
ខ្ញុំយល់ស្របទាំងស្រុងជាមួយ Paja
ខ្ញុំនឹងរួមចំណែកម្តងទៀតពីកំទេចកំទីនៃធុងមួយផ្សេងទៀត - Samsung Galaxy S និង iPhone 4 - ខ្ញុំនឹងនិយាយថាប្រៀបធៀបក្នុងលក្ខខណ្ឌនៃអាយុ? នៅពេលនៃ iOS 4 ហើយចំពោះការប្រើប្រាស់ និងល្បឿននៅកន្លែងផ្សេងក្រៅពី Android ក្រុមហ៊ុន Apple បានដោះស្រាយគំនិតនៃការធ្វើការជាមួយកម្មវិធីបានយ៉ាងល្អ ប៉ុន្តែដូចគ្នាទៅនឹង Android ដែរ។ នៅទីបញ្ចប់ខ្ញុំបានបញ្ចប់ជាមួយ 4S យ៉ាងណាក៏ដោយហើយខ្ញុំមិនមានការត្អូញត្អែរទេព្រោះ "វាទើបតែដំណើរការ" .. ហើយវាដំណើរការលឿនណាស់!
ទ្រឹស្តីគឺស្រស់ស្អាត... ប៉ុន្តែនៅក្នុងការអនុវត្ត ខ្ញុំនៅតែបិទកម្មវិធីនៅក្នុងរបារ ;)
សូមអរគុណ, គួរឱ្យចាប់អារម្មណ៍, ជាក់ស្តែង, គួរឱ្យចាប់អារម្មណ៍, វាមិនខ្វះតំលៃនិងជម្រៅ។ គូសបញ្ជាក់យ៉ាងច្បាស់ពីភាពឈ្លក់វង្វេងរបស់យុវវ័យសម័យនេះជាមួយនឹងម៉ាកហាមឃាត់នេះ! ប៉ុន្តែអរគុណសម្រាប់នាងក៏ដូចជាសម្រាប់អត្ថបទនេះ។
អត្ថបទគឺខុសទាំងស្រុង។
កម្មវិធីមិនឈប់ទេ ពេលចុចប៊ូតុង Home ដូចដែលបាននិយាយខុស ប៉ុន្តែផ្អាក។ I.e. ច្បាស់ជាមិនលុបចេញពីអង្គចងចាំ ហើយកុំបោះបង់។ គ្រាន់តែផ្អាកដំណើរការ iOS នឹងផ្តល់ឱ្យកម្មវិធីនេះ 0% ពេលវេលាស៊ីភីយូ។ វាពិតជាមិន "ប្តូរ" កន្លែងណាមួយនៅក្នុងអង្គចងចាំ iDevice ដូចដែលមានចែងក្នុងអត្ថបទនោះទេ។ វាពិតជាអរគុណចំពោះការពិតដែលថាវាអាចប្រើការប្តូរកម្មវិធី។
កម្មវិធីនេះត្រូវបានយកចេញពីអង្គចងចាំនៅពេលដែលទូរស័ព្ទមានអង្គចងចាំតិចតួចដើម្បីដំណើរការកម្មវិធីផ្សេងទៀតដែលមានអាទិភាពខ្ពស់ជាងនេះ (ជាធម្មតាកម្មវិធីផ្សេងទៀតកំពុងដំណើរការនៅផ្ទៃខាងមុខ)។
ក្នុងករណីដំបូង អ្នកនិយាយត្រូវ វាជាកំហុសក្នុងការបកប្រែ។ សម្រាប់ការផ្លាស់ប្តូរ យើងមិននិយាយអំពីវានៅទីនេះទេ យើងកំពុងនិយាយអំពីអង្គចងចាំប្រតិបត្តិការ មិនមែនទំហំផ្ទុកនៅក្នុងឧបករណ៍ iOS នោះទេ។
រូបភាពនៃកម្មវិធីត្រូវបានរក្សាទុកក្នុងអង្គចងចាំក្នុងរយៈពេលកំណត់រហូតដល់វាត្រូវបានហៅម្តងទៀតដោយពាក្យបញ្ជា (សូមមើល 13,7 GB ចេញពី 16 GB៖ 2,3 GB ត្រូវបានបម្រុងទុកសម្រាប់ប្រព័ន្ធ និងកម្មវិធីដែលផ្អាក)
ដូច្នេះ ចាំបាច់ត្រូវបែងចែករវាងកម្មវិធីដូចជា Navigation, Skype និងកម្មវិធីផ្សេងទៀត កម្មវិធីទាំងនេះនៅតែសកម្មសូម្បីតែនៅក្នុងផ្ទៃខាងក្រោយ ឬមុខងារជាក់លាក់មិនបញ្ចប់ ហើយបន្តឧទាហរណ៍ ដើម្បីផ្ញើទិន្នន័យអំពីទីតាំង ឬព័ត៌មានទីតាំងរបស់វា។ ឬដូចជា Vokul នៅក្នុងរបៀប pord ស្តាប់ ហើយកិច្ចការច្រើននៅតែកំពុងស្តាប់នៅផ្ទៃខាងក្រោយ។
កម្មវិធីទាំងនេះអស់ថ្ម ហើយចាំបាច់ត្រូវបិទវាដោយដៃ និងមិនរង់ចាំសម្រាប់ iOS ទេ។ ជាមួយអ្នកដទៃ វាមិនចាំបាច់ទេ មានតែក្នុងករណីដែលកម្មវិធីគាំងប៉ុណ្ណោះ។
ខ្ញុំមិនអាចយល់ស្របនឹងអត្ថបទនេះទេ។ នាទី នៅលើ iPad ជំនាន់ទី 1 (iOS 5.0.1) វាច្បាស់ណាស់ដើម្បីមើលថាតើខ្ញុំមានកម្មវិធី "បើក" ច្រើននៅក្នុងរបារកិច្ចការច្រើន ឬគ្រាន់តែពីរបី។ ប្រព័ន្ធប្រតិបត្តិការ iOS ព្យាយាមសម្អាតអង្គចងចាំ ប៉ុន្តែជាក់ស្តែងវាមិនគ្រប់គ្រាន់ទេ - ទំហំតូចនៃ RAM ប្រហែលជាចំណុចខ្សោយធំបំផុតរបស់វា។
ដូច្នេះច្រើនអាស្រ័យទៅលើប្រព័ន្ធ និងផ្នែករឹងដែលបានប្រើ វាពិតជាឡូជីខលណាស់ ដែលវានឹងកាន់តែអាក្រក់នៅលើ iPad 1 ជាមួយ iOS 5.0.1 ជាង iPad ជំនាន់ទី 2
សូមទោសមិត្តភ័ក្តិ នេះគឺជាការពិពណ៌នាអំពីវិធី IDEAL ដែលវាគួរតែដំណើរការ។ ជាអកុសល ការពិតគឺខុសគ្នាទាំងស្រុង ហើយអ្នកនឹងដឹងវាប្រសិនបើអ្នកបានប្រើផលិតផល Apple យ៉ាងហោចណាស់ច្រើនដូចដែលខ្ញុំធ្វើ (ឧទាហរណ៍ម្តងម្កាល)។
"ជាញឹកញាប់អ្នកអាចលឺអបិយជំនឿថាកម្មវិធីដែលដំណើរការនៅផ្ទៃខាងក្រោយក្នុង iOS បំពេញអង្គចងចាំប្រតិបត្តិការ"
វាមិនមែនជាអបិយជំនឿទេ វាគ្រាន់តែជាការពិតប៉ុណ្ណោះ។ យ៉ាងណាមិញអ្នកទាមទារវាដោយខ្លួនឯងនៅក្នុងអត្ថបទ។
"ដូចដែលខ្ញុំបាននិយាយខាងដើម អ្នកប្រើមិនចាំបាច់បិទកម្មវិធីដែលដំណើរការក្នុងផ្ទៃខាងក្រោយនោះទេ។"
មិនសមហេតុសមផល។ នោះគ្រាន់តែជារឿងអាស្រូវទេ ការឃោសនារបស់ផ្លែប៉ោម កុំខឹងខ្ញុំអី។
“ប៉ុន្តែ អ្នកមិនចាំបាច់ធ្វើវាទេ ព្រោះ iOS នឹងធ្វើវាសម្រាប់អ្នក។ ប្រសិនបើអ្នកមានកម្មវិធីដែលត្រូវផ្អាកនៅក្នុងផ្ទៃខាងក្រោយ ដូចជាហ្គេមដែលប្រើ RAM ច្រើននោះ iOS នឹងដកវាចេញពីអង្គចងចាំដោយស្វ័យប្រវត្តិនៅពេលចាំបាច់ ហើយអ្នកអាចចាប់ផ្តើមវាឡើងវិញដោយចុចលើរូបតំណាងកម្មវិធី។
មិនពិតទេ។ ស្ថានភាពគឺខុសគ្នាបន្តិច។ ឧទាហរណ៍ធម្មតា - ខ្ញុំមានកម្មវិធីទាមទារដែលកំពុងដំណើរការក្នុងផ្ទៃខាងក្រោយ ខ្ញុំត្រូវការហ្គេម។ ខ្ញុំបើកកម្មវិធីរុករកតាមអ៊ីនធឺណិត បើកផ្ទាំងពីរបី -> ត្រូវការអង្គចងចាំបន្ថែម។ តើនឹងមានអ្វីកើតឡើង? ខ្ញុំបន្តទាមទារកម្មវិធីនៅក្នុងផ្ទៃខាងក្រោយ ផ្ទុយទៅវិញ កម្មវិធីរុករកខ្លួនឯងធ្លាក់។ ប្រសិនបើខ្ញុំបិទកម្មវិធីដែលត្រូវការដោយដៃ នោះកម្មវិធីរុករកតាមអ៊ីនធឺណិតដំណើរការរយៈពេលយូរដោយគ្មានបញ្ហាអ្វីឡើយ។
នេះជាការអនុវត្តមិនមែនទ្រឹស្តីទេ។ ហើយខ្ញុំភ្ញាក់ផ្អើលដែលក្នុងនាមជាអ្នកប្រើប្រាស់ផលិតផល Apple រយៈពេលយូរ អ្នកនៅតែមិនដឹងរឿងនេះ។
អរគុណ នេះត្រូវបានពិពណ៌នាយ៉ាងល្អ និងពន្យល់បានយ៉ាងល្អ។ អ្នកបានជួយខ្ញុំបន្តិច ;-) ♥
គ្រាន់តែចាប់ផ្តើម ខ្ញុំក៏មិនប្រឆាំងនឹង iOS ដែរ ដូច Android ដែរ ប៉ុន្តែមានរឿងចម្លែកមួយចំនួននៅទីនេះ ប្រសិនបើដូចដែលវាត្រូវបានសរសេរនៅទីនេះ៖ "អ្នកកម្រជួបប្រទះកម្មវិធីគាំងនៅលើ iOS" បន្ទាប់មកនៅលើកម្មវិធី Android គាំង។ ម្តងក្នុងមួយឆ្នាំ : -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
បាទ/ចាស ប៉ុន្តែករណីដែលអ្នកត្រូវការបិទកម្មវិធីដោយដៃពិតជាតិចតួចណាស់ ខ្ញុំបានប្រើវាប្រហែលមួយដង? ;-) និងការផ្តល់នូវតំណភ្ជាប់ទៅនឹងការធ្វើតេស្តប្រៀបធៀបពី Mobilemania គឺពិតជាគ្មានន័យទេ នៅពេលដែលខ្ញុំចង់អានអំពីការផ្សាយពាណិជ្ជកម្មដែល Google បានបង់ ខ្ញុំនឹងមើលនៅទីនោះ ;-) អ្នកគ្រប់គ្នាអាចទទួលបានទូរស័ព្ទ Android ណាមួយនៅក្នុងដៃរបស់ពួកគេ ហើយវា នឹងមិនដំណើរការយ៉ាងស្អាតនោះទេ ពោលគឺលើកលែងតែ Galaxy Nexus ដែលជាប្រព័ន្ធត្រូវបានកាត់តាមច្រើន ឬតិច។ សរុបមក Android គឺជាគ្រោះមហន្តរាយ
@Mek – ខ្ញុំបានប្រើប្រាស់ផលិតផល Apple ជារៀងរាល់ថ្ងៃអស់រយៈពេលជាច្រើនឆ្នាំ ហើយរឿងនេះមិនដែលកើតឡើងចំពោះខ្ញុំទេ ដូច្នេះទ្រឹស្តីរបស់អ្នកមិនដំណើរការទេ។
OT៖
@redakce – អ្នកអាចមើលឃើញថាគេហទំព័រត្រូវបានដំណើរការឥតឈប់ឈរ ឬមានអ្វីមួយកំពុងកើតឡើងជាមួយវា ប៉ុន្តែខ្ញុំមានអារម្មណ៍ថាវាមិនចំណាយពេលមួយសប្តាហ៍សម្រាប់អ្វីគ្រប់យ៉ាងដើម្បីដំណើរការដូចដែលវាគួរធ្វើ។ ហើយខ្ញុំពិតជាមិនមកទីនេះទៀតទេ ព្រោះរូបរាងថ្មីមិនសមនឹងខ្ញុំទេ។ យ៉ាងហោចណាស់ខ្ញុំបានប្រើកំណែចល័តនៅលើ iPhone ប៉ុន្តែឥឡូវនេះវាមិនដំណើរការទាល់តែសោះ - ម៉េចបានមក? បច្ចុប្បន្ន ពួកគេមិនឆ្លើយតបនឹងការបង្ហោះក្នុងមតិយោបល់ទេ។
@SteveJSF ជាអកុសល អ្វីៗមិនតែងតែទៅជារបៀបដែលយើងចង់ឱ្យពួកគេធ្វើនោះទេ។ ចំពោះចម្លើយ កម្មវិធីជំនួយ SEO ថ្មីបានបំបែកពួកគេ ដែលបច្ចុប្បន្នកំពុងត្រូវបានដោះស្រាយ។
WP-Touch ក៏បានបិទសេវាកម្មរបស់យើងដោយហេតុផលមួយចំនួន ដូច្នេះយើងបានសម្រេចចិត្តបង្កើតដំណោះស្រាយល្អជាងកម្មវិធីជំនួយនេះ។ ដូច្នេះអ្នកអាចទន្ទឹងរង់ចាំព័ត៌មានបន្ទាប់ក្នុងពេលឆាប់ៗនេះ :-)
អត្ថបទល្អ។ បើនិយាយពីការអនុវត្តវិញ ខ្ញុំចង់និយាយថា ខ្ញុំយល់ស្របនឹងចំណុចមួយចំនួន ហើយភាគច្រើនវាដំណើរការដូចដែលបានបញ្ជាក់ ប៉ុន្តែជាអកុសល វានៅតែមានកម្មវិធីសរសេរមិនល្អ ដែលមិនមានឥរិយាបថត្រឹមត្រូវ ហើយបន្ទាប់មកមានករណីដូចករណីនោះ។ បានកត់សម្គាល់ដោយអ្នកអានមួយចំនួន។ ខ្ញុំគិតថា Skype គឺជាឧទាហរណ៍ដ៏ល្អមួយ ខ្ញុំដឹងពីការអនុវត្តថាវានៅតែដំណើរការក្នុងផ្ទៃខាងក្រោយ (ហើយវាល្អ ហើយនោះហើយជារបៀបដែលវាគួរតែមាន) ប៉ុន្តែបញ្ហាគឺថាកម្មវិធីនេះធ្វើឱ្យអស់ថ្មរបស់ឧបករណ៍ច្រើន ហើយ ខ្ញុំមិនអាចមើលវាឱ្យបានត្រឹមត្រូវទៀតទេ។ ផ្ទុយទៅវិញ កម្មវិធីដូចជា Facebook, Badoo ជាដើម។ ពួកគេក៏នៅតែដំណើរការក្នុងផ្ទៃខាងក្រោយផងដែរ ប៉ុន្តែការប្រើប្រាស់របស់ពួកគេគឺស្ទើរតែមិនអាចយល់បាន (យ៉ាងហោចណាស់ខ្ញុំមិនបានកត់សម្គាល់អ្វីទេ) ដូច្នេះខ្ញុំគិតថាកំហុសគឺនៅក្នុងកម្មវិធីបុគ្គល។ ប្រសិនបើអ្នកដឹងថាមួយណា វាគ្រប់គ្រាន់ហើយក្នុងការបិទដោយដៃតែប៉ុណ្ណោះ!
ដូច្នេះការអនុវត្តគឺថា Facebook ដំណើរការតាមតម្រូវការ និង Skype តែនៅពេលចាំបាច់។
ម្យ៉ាងវិញទៀត ប្រសិនបើខ្ញុំត្រូវការសន្សំថ្ម ហើយខ្ញុំដឹងថាខ្ញុំត្រូវតែរក្សា iPhone "ឱ្យនៅរស់" ឱ្យបានយូរតាមដែលអាចធ្វើទៅបាន ខ្ញុំក៏បិទអ្វីៗគ្រប់យ៉ាងដែលមិនចាំបាច់ក្នុងការធ្វើកិច្ចការច្រើនដែរ ប៉ុន្តែភាគច្រើនវាមិនមានផលប៉ះពាល់ខ្លាំងនោះទេ។ ប៉ុន្តែប្រសិនបើចាំបាច់ ខ្ញុំដាក់កម្រិត 3G អ៊ិនធឺណិតចល័តទាំងអស់ វ៉ាយហ្វាយ សេវាកម្មទីតាំង មុខងារនៅលើយន្តហោះ កម្លាំងពន្លឺ។ល។ ជាផ្នែកមួយនៃទម្លាប់នេះ ខ្ញុំក៏បិទកម្មវិធីដែលបានរៀបរាប់ខាងលើនៅក្នុងកិច្ចការច្រើនផងដែរ។
ដូច្នេះខ្ញុំផ្ទាល់គិតថាអត្ថបទនេះគឺពិត ជាអកុសលអ្នកសរសេរកម្មវិធីមួយចំនួនបដិសេធរឿងទាំងនេះជាមួយនឹងកម្មវិធីរបស់ពួកគេ ពីព្រោះកម្មវិធីរបស់ពួកគេមិនត្រឹមត្រូវ ហើយតាមគំនិតរបស់ខ្ញុំមានតែដំណោះស្រាយពីរប៉ុណ្ណោះសម្រាប់បញ្ហានេះ 1. ប្រសិនបើមិនអាចប្រើកម្មវិធី និងស្វែងរក ជំនួសប្រសិនបើអាចធ្វើទៅបាន ឬ 2. ប្រសិនបើវាមិនអាចទៅរួច សូមមើលឧទាហរណ៍ Skype សរសេរវាទៅអ្នកសរសេរកម្មវិធីដែលបានផ្តល់ឱ្យនៅក្នុងរបាយការណ៍ ហើយសង្ឃឹមថាពួកគេនឹងធ្វើអ្វីមួយអំពីវា។
វាប្រហែលជាគ្មានន័យទេក្នុងការបិទកម្មវិធីដោយដៃ ប៉ុន្តែខ្ញុំធ្វើវាយ៉ាងណាក៏ដោយ។ ខ្ញុំក៏បានព្យាយាមមិនបិទប្រព័ន្ធកម្មវិធី ទុកឱ្យពួកគេដំណើរការ (ឬទុកឱ្យពួកគេដេកនៅផ្ទៃខាងក្រោយ) ហើយអាយុកាលថ្មកាន់តែទាប ខ្ញុំក៏ត្រូវចាប់ផ្តើម iPad 2 ឡើងវិញបន្ទាប់ពីប្រហែល XNUMX សប្តាហ៍ វាឆ្លើយតបយឺត។ ដូច្នេះខ្ញុំបិទកម្មវិធីដោយដៃ ថ្មកាន់បានយូរ ថ្មីៗនេះខ្ញុំបានចាប់ផ្ដើមឡើងវិញនៅថ្ងៃបុណ្យណូអែល ហើយវាដំណើរការល្អ។
និយាយអញ្ចឹងខ្ញុំធ្វើដូចគ្នានៅក្នុង Mac OS X ខ្ញុំគ្រាន់តែបិទកម្មវិធីដែលខ្ញុំមិនត្រូវការ (CMD+Q) វាប្រសើរជាងការអោយវាដេកក្នុងផ្ទៃខាងក្រោយ ហើយស៊ី RAM ដោយមិនចាំបាច់ (ដែល OS X អាច' ធ្វើការជាមួយល្អណាស់) ។ ខ្ញុំមាន RAM តិចតួច ត្រឹមតែ 8 GB ប៉ុន្តែនៅក្នុង Windows 7 ជាមួយ 8 GB ប្រព័ន្ធមិនបានឆ្លើយតបយឺតៗ ឬប្តូរនោះទេ នៅក្នុង OS X នេះគឺជាបាតុភូតធម្មតាមួយ (ខ្ញុំមិនដែលបិទកុំព្យូទ័រទេ ខ្ញុំធ្វើវាជាមួយ Mac ផងដែរ។ ដូច្នេះមួយខែ និងពេលវេលាឡើងច្រើនមិនមែនជាករណីលើកលែងនោះទេ បញ្ហាគឺថា ពេលខ្លះខ្ញុំត្រូវចាប់ផ្តើម Mac ឡើងវិញ ជាការប្រុងប្រយ័ត្ន ដើម្បីបង្កើន RAM និង "បង្កើនល្បឿន" Windows 7 មិនត្រូវការវាទេ)។
ខ្ញុំចាប់អារម្មណ៍កាន់តែច្រើនអំពីរបៀបធ្វើឱ្យកម្មវិធីពិតជាផ្ទុះឡើង។ អ្វីដែលបានកើតឡើងចំពោះខ្ញុំគឺថាកម្មវិធី (ជាពិសេសនៅលើ Geocaching) បានចូលទៅក្នុងស្ថានភាពមួយដែលវាកំពុងផ្ទុកអ្វីមួយពីម៉ាស៊ីនមេហើយបានជាប់គាំងនៅក្នុងស្ថានភាពនោះ។ ប៊ូតុងដើមបានដំណើរការ បន្ទាប់ពីចាប់ផ្តើមឡើងវិញ វាបានត្រឡប់ទៅស្ថានភាពកកវិញ (កន្លែងដែលខ្ញុំបានចាកចេញ)។ ការចាកចេញដោយដៃ (ទៅកាន់ម៉ឺនុយពហុរសជាតិ សង្កត់រូបតំណាង ហើយដកដើម្បីបិទ) = កម្មវិធីបានបាត់ បន្ទាប់ពីចាប់ផ្តើមឡើងវិញ វាបើកក្នុងស្ថានភាពដើមដែលវាកក។ ដូច្នេះខ្ញុំបិទអ្វីៗគ្រប់យ៉ាង បិទទូរស័ព្ទ បើកវា ចុចពីរដងលើ HOME ហើយមើលចុះ - កម្មវិធីទាំងអស់គឺនៅទីនោះដូចដែលពួកគេធ្លាប់បានបិទមុននឹងបិទ។ ការចាប់ផ្តើមឡើងវិញមិនបានជួយទេ - សង្កត់ផ្ទះនិងខាងលើរហូតដល់វាក្តៅ។ រឿងតែមួយគត់ដែលបានជួយគឺការដកកម្មវិធីចេញពីទូរស័ព្ទ ចាប់ផ្តើមវាឡើងវិញ និងដំឡើងវាឡើងវិញនៅលើទូរស័ព្ទ។ ដូចម្ដេចខ្ញុំមិនបានយកវាទេ។
ការគ្រប់គ្រង Multitasking នេះដំណើរការហើយវាអាស្រ័យលើអ្នកអភិវឌ្ឍន៍ដើម្បីទប់ទល់នឹងស្ថានភាពទាំងនេះ។ សម្រាប់អ្នកដែលចាប់អារម្មណ៍លើការពិពណ៌នាលម្អិត និងវិជ្ជាជីវៈនៃស្ថានភាពទាំងមូល ខ្ញុំនឹងសរសេរនៅទីនេះថាតើវាយ៉ាងម៉េច។
កម្មវិធីអាចឆ្លើយតបទៅនឹងរដ្ឋសរុបចំនួន 6 ហើយរដ្ឋទាំងនេះគឺ:
កម្មវិធីWillResignActive
កម្មវិធីDidEnterBackground
កម្មវិធីWillEnterForeground
កម្មវិធីDidBecomeActive
កម្មវិធីនឹងបញ្ចប់
កម្មវិធីDidReceiveMemoryWarning
ឥឡូវនេះខ្ញុំនឹងព្យាយាមពណ៌នាអំពីរដ្ឋទាំងនេះឱ្យបានលម្អិតបន្ថែមទៀត។
applicationWillResignActive - រដ្ឋនេះមានន័យថានៅពេលអនាគត (ប៉ុន្មានមីលីវិនាទី) កម្មវិធីនឹងលាលែងពីតំណែង ដោយសារកម្មវិធីសកម្ម (ឧ. កម្មវិធីផ្ទៃខាងមុខ) វាកើតឡើងឧទាហរណ៍នៅពេលទទួលការហៅទូរសព្ទពេលកំពុងប្រើកម្មវិធី ប៉ុន្តែនៅពេលជាមួយគ្នានេះ វិធីសាស្ត្រ ដូច្នេះស្ថានភាពនេះនឹងបង្កឡើង មុនពេលកម្មវិធីចូលទៅក្នុងផ្ទៃខាងក្រោយ ដូច្នេះអ្នកត្រូវយកការផ្លាស់ប្តូរទាំងនេះទៅក្នុងគណនី។ វិធីសាស្រ្តនេះក៏សមរម្យផងដែរ ដូច្នេះឧទាហរណ៍ វាផ្អាកសកម្មភាពទាំងអស់ដែលវាកំពុងអនុវត្ត នៅពេលដែលមានការហៅចូល ហើយរង់ចាំរហូតដល់ចុងបញ្ចប់នៃការហៅទូរសព្ទ។
applicationDidEnterBackground - ស្ថានភាពនេះបង្ហាញថាកម្មវិធីបានចូលទៅក្នុងផ្ទៃខាងក្រោយ អ្នកអភិវឌ្ឍន៍គួរតែប្រើវិធីនេះដើម្បីផ្អាកដំណើរការទាំងអស់ដែលមិនចាំបាច់ដំណើរការក្នុងផ្ទៃខាងក្រោយ និងសម្អាតអង្គចងចាំនៃទិន្នន័យដែលមិនប្រើ និងដំណើរការផ្សេងទៀត ឧទាហរណ៍ កម្មវិធីកំណត់ពេលវេលាផុតកំណត់ ជម្រះពី រូបភាពផ្ទុកអង្គចងចាំដែលនឹងមិនចាំបាច់ ឬបិទការតភ្ជាប់ជាមួយម៉ាស៊ីនមេ ប្រសិនបើវាមិនសំខាន់សម្រាប់កម្មវិធីដើម្បីបញ្ចប់ការតភ្ជាប់ក្នុងផ្ទៃខាងក្រោយ។ ជាទូទៅ វិធីសាស្ត្រនេះនៅពេលហៅក្នុងកម្មវិធីគួរតែត្រូវបានប្រើដើម្បីផ្អាកកម្មវិធីទាំងស្រុង ប្រសិនបើផ្នែកខ្លះនៃវាមិនតម្រូវឱ្យដំណើរការក្នុងផ្ទៃខាងក្រោយ។
applicationWillEnterForeground - រដ្ឋនេះគឺផ្ទុយពីរដ្ឋដំបូងនៅពេលដែលកម្មវិធីនឹងលាលែងពីតំណែងទៅរដ្ឋសកម្ម។ ស្ថានភាពកម្មវិធីនេះគ្រាន់តែមានន័យថានៅក្នុងប៉ុន្មានមីលីវិនាទីបន្ទាប់ កម្មវិធីដែលកំពុងដេកនឹងបន្តពីផ្ទៃខាងក្រោយ ហើយលេចឡើងនៅខាងមុខ (កម្មវិធីចូលទៅក្នុងផ្ទៃខាងមុខ) វិធីសាស្ត្រនេះគួរតែត្រូវបានប្រើដោយអ្នកអភិវឌ្ឍន៍ដើម្បីបន្តដំណើរការណាមួយដែលអសកម្មខណៈពេលដែលកម្មវិធីកំពុងដំណើរការ។ នៅក្នុងផ្ទៃខាងក្រោយ ការតភ្ជាប់ទៅម៉ាស៊ីនមេគួរតែត្រូវបានកំណត់ឡើងវិញ កម្មវិធីកំណត់ម៉ោងកំណត់ឡើងវិញ រូបភាព និងទិន្នន័យដែលបានផ្ទុកទៅក្នុងអង្គចងចាំ ហើយដំណើរការចាំបាច់ផ្សេងទៀតអាចបន្តឡើងវិញ មុនពេលអ្នកប្រើប្រាស់ឃើញកម្មវិធីដែលបានផ្ទុកម្តងទៀត។
applicationDidBecomeActive – ស្ថានភាពនេះបង្ហាញថាកម្មវិធីទើបតែបានដំណើរការបន្ទាប់ពីត្រូវបានស្ដារឡើងវិញទៅផ្ទៃខាងមុខ នេះគឺជាវិធីសាស្ត្រដែលអាចត្រូវបានប្រើដើម្បីធ្វើការកែតម្រូវបន្ថែមទៅលើចំណុចប្រទាក់អ្នកប្រើប្រាស់ ឬស្ដារ UI ទៅកាន់សភាពដើមរបស់វាជាដើម។ វិធីសាស្ត្រនេះពិតជាកើតឡើងមែន។ នៅពេលដែលអ្នកប្រើប្រាស់អាចមើលឃើញនៅលើការបង្ហាញរួចហើយ ដូច្នេះចាំបាច់ត្រូវកំណត់ពីតារាងតុល្យការនូវអ្វីដែលកំពុងកើតឡើងនៅក្នុងវិធីសាស្រ្តនេះ និងក្នុងវិធីសាស្ត្រមុន។ ពួកវាត្រូវបានគេហៅថាមួយបន្ទាប់ពីមួយផ្សេងទៀតដែលមានភាពខុសគ្នាពីរបីមីលីវិនាទី។
applicationWillTerminate - ស្ថានភាពនេះកើតឡើងពីរបីមិល្លីវិនាទីមុនពេលកម្មវិធីបញ្ចប់ ពោលគឺមុនពេលកម្មវិធីបញ្ចប់។ ទាំងដោយដៃពីកិច្ចការច្រើន ឬនៅពេលបិទឧបករណ៍។ វិធីសាស្រ្តនេះគួរតែត្រូវបានប្រើដើម្បីរក្សាទុកទិន្នន័យដែលបានដំណើរការ និងដើម្បីបញ្ចប់សកម្មភាពទាំងអស់ និងលុបទិន្នន័យដែលនឹងលែងត្រូវការ។
applicationDidReceiveMemoryWarning - ហើយនេះគឺជាលក្ខខណ្ឌដែលត្រូវបានពិភាក្សាជាច្រើននៅទីនេះ ប្រសិនបើចាំបាច់ iOS នឹងលុបកម្មវិធីចេញពីអង្គចងចាំប្រសិនបើវាប្រើធនធានប្រព័ន្ធដោយមិនចាំបាច់។ ខ្ញុំមិនដឹងច្បាស់ថា iOS ធ្វើអ្វីជាមួយកម្មវិធីផ្ទៃខាងក្រោយ ប៉ុន្តែប្រសិនបើវាត្រូវការកម្មវិធីមួយដើម្បីបញ្ចេញធនធានទៅកាន់ដំណើរការផ្សេងទៀត វាជំរុញឱ្យវាមានការព្រមានអំពីអង្គចងចាំដើម្បីបញ្ចេញធនធានដែលវាកាន់។ ដូច្នេះវិធីសាស្រ្តនេះត្រូវបានគេហៅថានៅក្នុងកម្មវិធី ហើយអ្នកអភិវឌ្ឍន៍គួរតែអនុវត្តវាដើម្បីឱ្យកម្មវិធីបោះបង់ចោលអង្គចងចាំដែលវាមាន រក្សាទុកដំណើរការ និងលុបទិន្នន័យដែលមិនចាំបាច់ចេញពីអង្គចងចាំ ហើយបើមិនដូច្នេះទេ វានឹងរំដោះអង្គចងចាំឱ្យបានគ្រប់គ្រាន់។ វាជាការពិតដែលថាអ្នកអភិវឌ្ឍន៍ជាច្រើន ជាឧទាហរណ៍អ្នកចាប់ផ្តើមដំបូង មិនគិតពីរឿងបែបនេះ ឬមិនយល់ពីវា ហើយបន្ទាប់មកវាអាចកើតឡើងដែលថាកម្មវិធីរបស់ពួកគេបង្កគ្រោះថ្នាក់ដល់អាយុថ្ម និង/ឬប្រើប្រាស់ធនធានប្រព័ន្ធដោយមិនចាំបាច់សូម្បីតែនៅក្នុងផ្ទៃខាងក្រោយក៏ដោយ។ ខ្ញុំមិនដឹងថា iOS នឹងមានឥរិយាបទយ៉ាងណាទេ ប្រសិនបើកម្មវិធីមិនធ្វើអ្វីទាំងអស់ បន្ទាប់ពីទទួលបានការព្រមានអំពីអង្គចងចាំ ហើយបន្តប្រើប្រាស់ធនធានប្រព័ន្ធដូចពីមុន។
រដ្ឋមួយចំនួន និងវិធីសាស្រ្តដែលពាក់ព័ន្ធទាំងនេះគឺនៅពីក្រោយ "ការធ្វើកិច្ចការច្រើន" ទាំងមូលនៅក្នុង iOS... វាជាប្រព័ន្ធដ៏អស្ចារ្យមួយ ប្រសិនបើអ្នកអភិវឌ្ឍន៍មិនព្រងើយកន្តើយចំពោះតម្រូវការទទួលខុសត្រូវចំពោះអ្វីដែលកម្មវិធីនឹងដាក់នៅលើឧបករណ៍របស់អ្នកប្រើប្រាស់របស់ពួកគេ ប្រសិនបើពួកវាត្រូវបានបង្រួមអប្បបរមា។ ឬទទួលបានការព្រមានពីប្រព័ន្ធ និងច្រើនទៀត…
ខ្ញុំសង្ឃឹមថាការពិពណ៌នាសង្ខេបនេះជួយអ្នកឱ្យយល់ពីរបៀបដែលកម្មវិធីមានជាប់ពាក់ព័ន្ធក្នុងការធ្វើឱ្យអ្វីៗដំណើរការយ៉ាងរលូន។ ដូច្នេះវាស្ទើរតែអាចនិយាយបានថាវាជាកំហុសនៃការប្រើប្រាស់មិនត្រឹមត្រូវដោយអ្នកប្រើប្រាស់ ដែលអាចយល់បានថា ប្រសិនបើអ្នកប្រើកម្មវិធីឥតគិតថ្លៃភាគច្រើនពីអ្នកអភិវឌ្ឍន៍ស្ម័គ្រចិត្តក្នុងចំនួនច្រើននោះ ឧបករណ៍ iOS របស់អ្នកនឹងដំណើរការអាក្រក់ជាងប្រសិនបើអ្នកប្រើធំ។ ចំនួនកម្មវិធីឥតគិតថ្លៃ និងបង់ប្រាក់ពីអ្នកអភិវឌ្ឍន៍ដែលមានបទពិសោធន៍ ឬវិជ្ជាជីវៈ។ នេះមិនមែនមានន័យថាមិនមានករណីលើកលែងនៅក្នុងរង្វង់ទាំងពីរនោះទេ។ ឧទាហរណ៍ foursquare មានឥរិយាបទចម្លែក និងទាមទារ ហើយក្នុងពេលតែមួយ មនុស្សម្នាក់រំពឹងថាពួកគេជាអ្នកអភិវឌ្ឍន៍ដែលមានជំនាញខ្លាំង ដែលផ្តល់ពេលវេលាច្រើនដល់ការចងចាំ និងការគ្រប់គ្រងថ្ម ប៉ុន្តែផ្ទុយទៅវិញគឺជាការពិត។ បញ្ហាដ៏ធំបំផុតជាមួយ 4SQ គឺការប្រាស្រ័យទាក់ទងជាមួយម៉ាស៊ីនមេ ដែលជារឿយៗព្យួរ និងលើសលប់។ នេះគ្រាន់តែជាឧទាហរណ៍នៃការពិតដែលថាសូម្បីតែកម្មវិធីល្បីក៏មានបញ្ហាដែរ ដែលមិនផ្លាស់ប្តូរការពិតដែលថា 4SQ គឺជាសេវាកម្មដ៏អស្ចារ្យ។
រីករាយជាមួយផ្លែប៉ោម !! :)
យើងបានបន្ថែមព័ត៌មានទៅអត្ថបទដោយមានការអនុញ្ញាតពីអ្នកនិពន្ធ ;-)
ខ្ញុំសុំទោស ENTER គឺនៅគ្រប់ទីកន្លែងរវាងកថាខណ្ឌ ពួកគេអាចធ្វើអ្វីមួយអំពីវានៅទីនេះ ដើម្បីឱ្យមតិយោបល់មានទម្រង់អត្ថបទដ៏សំបូរបែបបន្តិច។
ArnieX៖ អរគុណសម្រាប់ការបញ្ចេញមតិ!!
Faramir នោះ៖ ខ្ញុំគ្រាន់តែនិយាយអំពីបញ្ហារបស់អ្នក ខ្ញុំមិនដឹងថាវាអាចជួយអ្នកបានទេ ប៉ុន្តែខ្ញុំដឹងពីបទពិសោធន៍ផ្ទាល់ខ្លួនរបស់ខ្ញុំថា ប្រសិនបើអ្នកបិទកម្មវិធី (ក្នុងកិច្ចការច្រើន) វាត្រូវចំណាយពេលពីរបីវិនាទីរហូតដល់វាបិទ ដូច្នេះប្រសិនបើ អ្នកបិទវា ខ្ញុំសូមណែនាំឱ្យរង់ចាំពីរបីវិនាទី (ខ្ញុំរង់ចាំប្រហែល 10 វិនាទីដើម្បីប្រាកដ) រហូតទាល់តែវាបានបញ្ចប់យ៉ាងប្រាកដ ហើយខ្ញុំអាចចាប់ផ្ដើមវាម្ដងទៀត។
សូមស្វាគមន៍ ;) ខ្ញុំរីករាយក្នុងការជួយ ប្រសិនបើខ្ញុំមានឱកាសរួមចំណែក។
តើវាគួរនៅជាមួយ Meeb ដោយរបៀបណា នៅពេលដែលខ្ញុំចូល ICQ ឬ FB chat តាមរយៈវា វានឹងចេញដោយស្វ័យប្រវត្តិបន្ទាប់ពី 10 នាទី ហើយខ្ញុំទៅក្រៅបណ្តាញ ឬវាបន្តដំណើរការ? អរគុណសម្រាប់ការបកស្រាយ :P
បន្ទាប់ពីដប់នាទី ការតភ្ជាប់របស់កម្មវិធីទៅអ៊ីនធឺណិតត្រូវបានរំខានយ៉ាងសាមញ្ញ។ ទោះយ៉ាងណាក៏ដោយ អ្នកនឹងនៅតែអនឡាញនៅលើម៉ាស៊ីនមេ Meeba ហើយអ្នកនឹងទទួលបានការជូនដំណឹងជំរុញ ប្រសិនបើនរណាម្នាក់សរសេរមកអ្នក។ បន្ទាប់ពីបើកកម្មវិធីឡើងវិញ ការតភ្ជាប់នឹងត្រូវបានបង្កើតឡើងក្នុងពេលបន្តិចទៀត ហើយអ្នកអាចបន្តជជែកដោយរីករាយ។
ដូច្នេះ ប្រសិនបើខ្ញុំយល់អត្ថបទដែលអ្នកបានភ្ជាប់ត្រឹមត្រូវ ស្ថិតិសំដៅលើកម្មវិធីគាំងនៅពេលពួកគេចាប់ផ្តើម ដែលជាភាគរយតិចតួចនៃករណីដែលគាំងអាចកើតឡើង។ ដូច្នេះវាមិនអាចទៅរួចទេក្នុងការសន្និដ្ឋានពី "ការស្រាវជ្រាវ" នេះថាប្រព័ន្ធប្រតិបត្តិការ iOS មិនមានស្ថេរភាពនៅក្នុងគំនិតរបស់ខ្ញុំ។ លើសពីនេះ អ្នកបកប្រែអត្ថបទដែលយកចេញពី Forbes ភ្លេចនិយាយថាក្រុមហ៊ុនដែលផ្តល់ទិន្នន័យស្តីពីការគាំងកម្មវិធីត្រូវបានគាំទ្រដោយ Google ("Crittercism ដែលត្រូវបានគាំទ្រដោយ Google Ventures, ... ") ។