ພວກເຮົາທຸກຄົນຮູ້ບົດຮຽນ "multitasking = ຄວາມສາມາດໃນການປະຕິບັດຫຼາຍຂະບວນການໃນເວລາດຽວກັນ". ພວກເຮົາໃຊ້ມັນຢູ່ໃນຄອມພີວເຕີຂອງພວກເຮົາໂດຍບໍ່ຮູ້ຕົວໂດຍສະເພາະການປະກົດຕົວຂອງມັນ. ການປ່ຽນລະຫວ່າງແອັບພລິເຄຊັນຫຼືປ່ອງຢ້ຽມຂອງແອັບພລິເຄຊັນຫນຶ່ງເກີດຂຶ້ນ (ສໍາລັບພວກເຮົາ) ໃນເວລາທີ່ແທ້ຈິງແລະພວກເຮົາເອົາຄວາມສາມາດຂອງລະບົບປະຕິບັດການນີ້.
ວຽກງານທີ່ແຕກຕ່າງກັນ
ລະບົບປະຕິບັດການຈັດສັນໂປເຊດເຊີໃຫ້ກັບແອັບພລິເຄຊັນທັງຫມົດໃນໄລຍະເວລານ້ອຍໆ. ໄລຍະເວລາເຫຼົ່ານີ້ມີຂະຫນາດນ້ອຍຫຼາຍທີ່ພວກເຮົາບໍ່ສາມາດສັງເກດເຫັນພວກມັນໄດ້, ດັ່ງນັ້ນມັນເບິ່ງຄືວ່າທຸກແອັບພລິເຄຊັນກໍາລັງໃຊ້ໂປເຊດເຊີໃນເວລາດຽວກັນ. ພວກເຮົາອາດຈະຄິດແນວນັ້ນ Multitasking ໃນ iOS 4 ເຮັດວຽກຄືກັນແທ້. ມັນບໍ່ແມ່ນແນວນັ້ນ. ເຫດຜົນຕົ້ນຕໍແມ່ນແນ່ນອນຄວາມອາດສາມາດຫມໍ້ໄຟ. ຖ້າແອັບພລິເຄຊັນທັງໝົດຖືກປະໄວ້ເຮັດວຽກຢູ່ໃນພື້ນຫຼັງແທ້ໆ, ພວກເຮົາອາດຈະຕ້ອງຊອກຫາຊັອກເກັດໃນສອງສາມຊົ່ວໂມງ.
ແອັບພລິເຄຊັນສ່ວນໃຫຍ່ທີ່ເຂົ້າກັນໄດ້ກັບ iOS 4 ແມ່ນຖືກໃສ່ເຂົ້າໄປໃນ "ໂຫມດໂຈະ" ຫຼືເຮັດໃຫ້ນອນຫຼັງຈາກກົດປຸ່ມຫນ້າທໍາອິດ. ການປຽບທຽບອາດຈະປິດຝາຂອງແລັບທັອບ, ເຊິ່ງທັນທີເຂົ້າສູ່ໂໝດນອນ. ຫຼັງຈາກເປີດຝາ, ຄອມພິວເຕີໄດ້ຕື່ນຂຶ້ນແລະທຸກສິ່ງທຸກຢ່າງຢູ່ໃນສະພາບດຽວກັນກັບການປິດຝາກ່ອນ. ນອກຈາກນັ້ນ, ມີແອັບພລິເຄຊັນທີ່ກົດປຸ່ມຫນ້າທໍາອິດເຮັດໃຫ້ພວກເຂົາສິ້ນສຸດ. ແລະໂດຍນັ້ນພວກເຮົາຫມາຍເຖິງການຢຸດເຊົາທີ່ແທ້ຈິງ. ນັກພັດທະນາມີທາງເລືອກທີ່ຈະໃຊ້ວິທີການເຫຼົ່ານີ້.
ແຕ່ມີຄໍາຮ້ອງສະຫມັກປະເພດອື່ນ. ເຫຼົ່ານີ້ແມ່ນແອັບຯທີ່ເຮັດວຽກຢູ່ໃນພື້ນຫລັງຢ່າງແທ້ຈິງ, ເຖິງແມ່ນວ່າທ່ານກໍາລັງເຮັດບາງສິ່ງບາງຢ່າງທີ່ແຕກຕ່າງກັນຫມົດໃນ iDevice ຂອງທ່ານ. Skype ເປັນຕົວຢ່າງທີ່ດີເພາະວ່າມັນຕ້ອງການການເຊື່ອມຕໍ່ອິນເຕີເນັດຢ່າງຕໍ່ເນື່ອງ. ຕົວຢ່າງອື່ນຈະເປັນແອັບທີ່ຫຼິ້ນເພງໃນພື້ນຫຼັງ (Pandora) ຫຼືແອັບທີ່ຕ້ອງການໃຊ້ GPS ຢ່າງຕໍ່ເນື່ອງ. ແມ່ນແລ້ວ, ແອັບເຫຼົ່ານີ້ເຮັດໃຫ້ແບັດເຕີຣີຂອງທ່ານໝົດໄປເຖິງແມ່ນວ່າຈະແລ່ນຢູ່ໃນພື້ນຫຼັງກໍຕາມ.
ນອນຫຼືຍິງລົງ?
ແອັບພລິເຄຊັນບາງຢ່າງທີ່ເຂົ້າກັນໄດ້ກັບ iOS 4, ເຊິ່ງຄວນຈະນອນຫຼັບ (ໃສ່ໃນ "ຮູບແບບທີ່ຖືກໂຈະ") ຫຼັງຈາກກົດປຸ່ມຫນ້າທໍາອິດ, ສືບຕໍ່ດໍາເນີນການໃນພື້ນຫລັງ. Apple ໄດ້ໃຫ້ນັກພັດທະນາຢ່າງແນ່ນອນສິບນາທີສໍາລັບ app ເພື່ອເຮັດສໍາເລັດວຽກງານຂອງຕົນ, ໃດກໍ່ຕາມມັນເປັນ. ໃຫ້ເວົ້າວ່າທ່ານກໍາລັງດາວໂຫລດໄຟລ໌ໃນ GoodReader. ທັນໃດນັ້ນກໍມີຄົນຕ້ອງການໂທຫາເຈົ້າ ແລະເຈົ້າພຽງແຕ່ຕ້ອງຮັບສາຍສຳຄັນນັ້ນ. ການໂທບໍ່ເກີນສິບນາທີ, ທ່ານຈະກັບຄືນໄປຫາແອັບພລິເຄຊັນ GoodReader. ໄຟລ໌ອາດຈະຖືກດາວໂຫຼດແລ້ວ ຫຼືຍັງຖືກດາວໂຫຼດຢູ່. ຈະເປັນແນວໃດຖ້າການໂທໃຊ້ເວລາຫຼາຍກວ່າສິບນາທີ? ຄໍາຮ້ອງສະຫມັກ, ໃນກໍລະນີຂອງ GoodReader ຂອງພວກເຮົາ, ຈະຕ້ອງຢຸດກິດຈະກໍາຂອງມັນແລະບອກ iOS ວ່າມັນສາມາດນອນໄດ້. ຖ້າຫາກວ່ານາງບໍ່ໄດ້, ນາງຈະໄດ້ຮັບການລະງັບຢ່າງບໍ່ມີຄວາມເມດຕາໂດຍ iOS ຕົວມັນເອງ.
ດຽວນີ້ເຈົ້າຮູ້ຄວາມແຕກຕ່າງລະຫວ່າງ "ມືຖື" ແລະ "ຕັ້ງໂຕະ" multitasking. ໃນຂະນະທີ່ຄວາມຄ່ອງແຄ້ວແລະຄວາມໄວຂອງການປ່ຽນລະຫວ່າງແອັບພລິເຄຊັນມີຄວາມສໍາຄັນສໍາລັບຄອມພິວເຕີ, ຊີວິດຫມໍ້ໄຟແມ່ນສໍາຄັນທີ່ສຸດສໍາລັບອຸປະກອນມືຖືສະເຫມີ. Multitasking ຍັງຕ້ອງໄດ້ຮັບການປັບຕົວເຂົ້າກັບຄວາມເປັນຈິງນີ້. ດັ່ງນັ້ນ, ຫຼັງຈາກອ່ານບົດຄວາມນີ້, ຖ້າທ່ານກົດປຸ່ມຫນ້າທໍາອິດສອງຄັ້ງ, ທ່ານຈະບໍ່ເຫັນ "ແຖບຂອງແອັບພລິເຄຊັນທີ່ເຮັດວຽກຢູ່ໃນພື້ນຫລັງ", ແຕ່ສໍາຄັນພຽງແຕ່ "ບັນຊີລາຍຊື່ຂອງຄໍາຮ້ອງສະຫມັກທີ່ໃຊ້ບໍ່ດົນມານີ້".
ຜູ້ຂຽນ: Daniel Hruškaທີ່ມາ: onemoretap.com
hmm, ຫນ້າສົນໃຈ :) ຂ້ອຍຄິດສະເຫມີວ່າມັນຄ້າຍຄືກັນກັບວິທີທີ່ມັນສາມາດເຮັດໄດ້ໃນ Unix. ວ່າຄໍາຮ້ອງສະຫມັກໄດ້ຖືກຈັດສັນສູນເວລາ CPU ແລະຂະບວນການພຽງແຕ່ນັ່ງຢູ່ໃນຫນ່ວຍຄວາມຈໍາ, ຊັບພະຍາກອນທັງຫມົດໄດ້ຖືກຈັດສັນ. ສະນັ້ນຂ້ອຍຕ້ອງກົດ home ສອງຄັ້ງແລະທັນທີຢຸດແອັບພລິເຄຊັນເພື່ອລຶບມັນ. ດັ່ງນັ້ນ, ນີ້ຫມາຍຄວາມວ່າເຖິງແມ່ນວ່າມີໄອຄອນແອັບພລິເຄຊັນຢູ່ໃນແຜ່ນທີ່ເຊື່ອງໄວ້ຕ່ໍາ, ແອັບຯຍັງຖືກປິດເປັນເວລາດົນນານກ່ອນ (ຫຼັງຈາກ 10 ນາທີ) ບໍ?
ໃນບັນຊີລາຍຊື່ລຸ່ມສຸດ, ມີພຽງແຕ່ຄໍາຮ້ອງສະຫມັກທີ່ເປີດບໍ່ດົນມານີ້ທີ່ສຸດ, ເຊິ່ງບາງອັນຂອງພວກມັນຍັງສາມາດດໍາເນີນການໄດ້, ບາງອັນຖືກໂຈະ, ແລະບາງອັນຖືກຍົກເລີກຢ່າງສົມບູນ. ການເອົາແອັບພລິເຄຊັນອອກຈາກລາຍຊື່ດ້ວຍຕົນເອງມີ "ຜົນຂ້າງຄຽງ" ທີ່ຖ້າມັນເກີດຂື້ນກັບການເຮັດວຽກ (ຫຼືຖືກໂຈະ) ມັນຈະຖືກປິດ.
ຄໍາຮ້ອງສະຫມັກຕ້ອງບອກຕົວເອງກ່ຽວກັບ 10 ນາທີພິເສດເຫຼົ່ານັ້ນ, ແລະມັນບໍ່ໄດ້ຮັບປະກັນວ່າມັນຈະໄດ້ຮັບພວກມັນ.
ດີ, ມັນບໍ່ໄດ້ກໍາຈັດຄວາມຫຼົງໄຫຼຂອງຂ້ອຍກັບການປິດແອັບພລິເຄຊັນຈາກບັນຊີລາຍຊື່ (ຖ້າມັນກິນຊັບພະຍາກອນໂດຍບັງເອີນ, ແມ່ນບໍ? :-D)
ຄວາມເຂົ້າໃຈຂອງຂ້ອຍແມ່ນວ່າເວລາ 10 ນາທີແມ່ນສໍາລັບແອັບຯທີ່ຕ້ອງການເຮັດວຽກໃນພື້ນຫລັງແລະບໍ່ຕົກຢູ່ໃນຫມວດ "skype, GPS ແລະດົນຕີ playback". ແອັບພລິເຄຊັ່ນອື່ນສະຫຼັບໄປໃຊ້ໂໝດຖືກລະງັບໄວ້ ແລະຢູ່ໃນໜ່ວຍຄວາມຈຳຈົນກວ່າຄວາມຈຳຕ້ອງການສຳລັບສິ່ງອື່ນໆ.
ໂຫມດຖືກໂຈະມີປະໂຫຍດທີ່ວ່າຖ້າທ່ານຕ້ອງການຂ້າແອັບຯ, ທ່ານຈະບໍ່ສູນເສຍຂໍ້ມູນຂອງມັນ, ທຸກສິ່ງທຸກຢ່າງຈະຖືກບັນທຶກໄວ້ໃນເວລາທີ່ປ່ຽນໄປເປັນ suspended.
ຫຼື, ໃນກໍລະນີຂອງ e.g. playback, ທຽບເທົ່າຂອງຄໍາສັ່ງ bg / fg
ແລະສິ່ງທີ່ກ່ຽວກັບຜູ້ນຫຼືຄໍາຮ້ອງສະຫມັກອື່ນໆທີ່ເຮັດວຽກຢູ່ໃນພື້ນຫລັງສໍາລັບໄລຍະເວລາໃດ? ຂ້ອຍຫມາຍຄວາມວ່າ, ຂ້ອຍສາມາດ "ເລືອກ" ເປັນຜູ້ພັດທະນາ, ຫຼືມັນຕ້ອງໄດ້ຮັບການອະນຸມັດຈາກ Apple ແນວໃດ?
ເພື່ອໃຫ້ແອັບພລິເຄຊັນສາມາດເຮັດວຽກຢູ່ໃນພື້ນຫຼັງໄດ້ຢ່າງແທ້ຈິງໃນເວລາບໍ່ຈໍາກັດ, ມັນຕ້ອງເຮັດ (ລົງທະບຽນ) ຫນຶ່ງໃນການປະຕິບັດຕໍ່ໄປນີ້:
- ການນໍາໃຊ້ບໍລິການສະຖານທີ່ (GPS)
- ຫຼິ້ນດົນຕີໃນພື້ນຖານ
- ໃຊ້ VOIP (ສຽງຜ່ານ IP)
ອີງຕາມຫົວຂໍ້ (ເບິ່ງພາຍໃຕ້ຫົວ), ຂ້າພະເຈົ້າຄາດວ່າບົດຄວາມຈະມີຄໍາອະທິບາຍທີ່ກວ້າງຂວາງກວ່າທີ່ມີລາຍລະອຽດດ້ານວິຊາການ. ນີ້ເບິ່ງຄືວ່າເປັນ perex ກັບບົດຄວາມ. ຖ້າມັນເປັນ perex, ເມື່ອໃດທີ່ sequel? ເຈົ້າສາມາດຄືນເງິນໄດ້ບໍ? :-)
ແລະເຈົ້າຢາກຮູ້ລາຍລະອຽດເພີ່ມເຕີມແນວໃດ?
ຈາກບົດຄວາມທີ່ມີ "ພາຍໃຕ້ຫົວ" ໃນຫົວຂໍ້, ຂ້າພະເຈົ້າຈະຄາດຫວັງວ່າຈະມີລາຍລະອຽດດ້ານວິຊາການ (ຜູ້ຂຽນສາມາດວິເຄາະ, ຕົວຢ່າງ, overhead ເມື່ອປ່ຽນຄໍາຮ້ອງສະຫມັກ, ຫຼືວິທີການເຂົ້າເຖິງຊັບພະຍາກອນຂອງລະບົບພ້ອມໆກັນ), ການປຽບທຽບກັບແບບອື່ນໆ. (ຕົວຢ່າງ, ກັບ iPhone jailbroken). ມັນເຫມາະສົມທີ່ຈະສໍາຮອງມັນດ້ວຍການວັດແທກບາງຢ່າງ. ຂ້າພະເຈົ້າພຽງແຕ່ຄາດຫວັງຫຼາຍກວ່ານີ້ຈາກບົດຄວາມທີ່ມີ "ພາຍໃຕ້ການປົກຫຸ້ມຂອງ" ໃນຫົວຂໍ້ຂອງມັນກ່ວາຄໍາອະທິບາຍແບບພິເສດນີ້.
ມີລູກຄ້າ icq ໃດທີ່ດໍາເນີນການຢ່າງຕໍ່ເນື່ອງໃນພື້ນຫລັງເຊັ່ນ skype ແລະບໍ່ໄດ້ລຸດການເຊື່ອມຕໍ່?
ຄໍາຮ້ອງສະຫມັກມີ 10 ວິນາທີທີ່ຈະເຂົ້າໄປໃນໂຫມດ suspend, ບໍ່ແມ່ນ 10 ນາທີ ... ແລະໃນລະຫວ່າງຂະບວນການນີ້, ບາງສ່ວນອາດຈະ "hang" ກ່ຽວກັບການບໍລິການ backend, ບາງອັນໄດ້ລະບຸໄວ້ຂ້າງເທິງ - ນັ້ນແມ່ນສິ່ງທີ່ Apple ເອີ້ນວ່າ "smart "ຫຼາຍໜ້າວຽກ.... ຫຼັງຈາກນັ້ນ, ລະບົບໄດ້ຍິງນາງລົງ
ແອັບພລິເຄຊັນອາດຕ້ອງການເວລາເພີ່ມເຕີມຖ້າມີບາງຢ່າງຖືກດາວໂຫຼດ, ອັບໂຫຼດ ຫຼື ປະມວນຜົນ. ມັນບໍ່ມີຫຍັງກ່ຽວຂ້ອງກັບ GPS, VoIP ຫຼືການຫຼິ້ນດົນຕີ, ເຊິ່ງດໍາເນີນການໃນຮູບແບບ minimalist ເປັນເວລາບໍ່ຈໍາກັດ.