ຈໍານວນ RAM ທີ່ເຫມາະສົມທີ່ໂທລະສັບຕ້ອງການສໍາລັບການເຮັດຫຼາຍວຽກທີ່ລຽບງ່າຍຂອງພວກເຂົາແມ່ນຂ້ອນຂ້າງເປັນຫົວຂໍ້ໂຕ້ວາທີ. Apple ໄດ້ຮັບໂດຍຂະຫນາດທີ່ນ້ອຍກວ່າໃນ iPhone ຂອງຕົນ, ເຊິ່ງມັກຈະໃຊ້ໄດ້ຫຼາຍກວ່າການແກ້ໄຂ Android. ນອກນັ້ນທ່ານຍັງຈະບໍ່ພົບເຫັນປະເພດຂອງການຈັດການຫນ່ວຍຄວາມຈໍາ RAM ໃນ iPhone, ໃນຂະນະທີ່ Android ມີຫນ້າທີ່ອຸທິດຕົນຂອງຕົນເອງສໍາລັບການນີ້.
ຖ້າທ່ານໄປ, ສໍາລັບການຍົກຕົວຢ່າງ, ໃນໂທລະສັບ Samsung Galaxy ກັບ ເມືອງ Nastaven -> ການດູແລອຸປະກອນ, ເຈົ້າຈະພົບເຫັນຕົວຊີ້ບອກ RAM ຢູ່ທີ່ນີ້ພ້ອມກັບຂໍ້ມູນກ່ຽວກັບພື້ນທີ່ຫວ່າງຫຼາຍເທົ່າໃດ ແລະຖືກຄອບຄອງຫຼາຍປານໃດ. ຫຼັງຈາກຄລິກໃສ່ເມນູ, ທ່ານສາມາດເບິ່ງວ່າແຕ່ລະແອັບພລິເຄຊັນກໍາລັງໃຊ້ຫນ່ວຍຄວາມຈໍາຫຼາຍປານໃດ, ແລະທ່ານຍັງມີທາງເລືອກທີ່ຈະລ້າງຫນ່ວຍຄວາມຈໍາຢູ່ທີ່ນີ້. ຟັງຊັນ RAM Plus ແມ່ນຢູ່ທີ່ນີ້. ຄວາມຫມາຍຂອງມັນແມ່ນວ່າມັນຈະກັດຈໍານວນ GB ທີ່ແນ່ນອນຈາກການເກັບຮັກສາພາຍໃນ, ເຊິ່ງມັນຈະໃຊ້ສໍາລັບຫນ່ວຍຄວາມຈໍາ virtual. ທ່ານສາມາດຈິນຕະນາການບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້ໃນ iOS?
ໂທລະສັບສະຫຼາດອີງໃສ່ RAM. ມັນໃຫ້ບໍລິການໃຫ້ເຂົາເຈົ້າເກັບຮັກສາລະບົບປະຕິບັດການ, ເປີດຕົວຄໍາຮ້ອງສະຫມັກແລະຍັງເກັບຂໍ້ມູນບາງຢ່າງຂອງເຂົາເຈົ້າຢູ່ໃນ cache ແລະ buffer memory. ດັ່ງນັ້ນ, RAM ຕ້ອງໄດ້ຮັບການຈັດລຽງແລະຈັດການໃນລັກສະນະທີ່ແອັບພລິເຄຊັນສາມາດເຮັດວຽກໄດ້ອຍ່າງລຽບງ່າຍ, ເຖິງແມ່ນວ່າທ່ານຈະວາງພວກມັນລົງໃສ່ພື້ນຫລັງແລະເປີດມັນອີກເທື່ອຫນຶ່ງຫຼັງຈາກເວລາໃດຫນຶ່ງ.
Swift ທຽບກັບ. Java
ແຕ່ເມື່ອເລີ່ມຕົ້ນແອັບພລິເຄຊັນໃຫມ່, ທ່ານຈໍາເປັນຕ້ອງມີພື້ນທີ່ຫວ່າງໃນຫນ່ວຍຄວາມຈໍາເພື່ອໂຫລດແລະດໍາເນີນການ. ຖ້າຫາກວ່ານີ້ບໍ່ແມ່ນກໍລະນີ, ສະຖານທີ່ຈະຕ້ອງໄດ້ພັກ. ດັ່ງນັ້ນ, ລະບົບຈະຢຸດຂະບວນການເຮັດວຽກບາງຢ່າງຢ່າງບັງຄັບ, ເຊັ່ນ: ແອັບພລິເຄຊັນທີ່ໄດ້ເລີ່ມຕົ້ນແລ້ວ. ຢ່າງໃດກໍຕາມ, ທັງສອງລະບົບ, i.e. Android ແລະ iOS, ເຮັດວຽກແຕກຕ່າງກັນກັບ RAM.
ລະບົບປະຕິບັດການ iOS ຖືກຂຽນໄວ້ໃນ Swift, ແລະ iPhones ບໍ່ຈໍາເປັນຕ້ອງເອົາຫນ່ວຍຄວາມຈໍາທີ່ໃຊ້ແລ້ວຄືນໃຫມ່ຈາກແອັບຯທີ່ປິດແລ້ວກັບຄືນສູ່ລະບົບ. ນີ້ແມ່ນເນື່ອງມາຈາກວິທີການສ້າງ iOS, ເນື່ອງຈາກວ່າ Apple ມີການຄວບຄຸມຢ່າງເຕັມທີ່ກ່ຽວກັບມັນນັບຕັ້ງແຕ່ມັນພຽງແຕ່ດໍາເນີນການໃນ iPhone ຂອງຕົນ. ໃນທາງກົງກັນຂ້າມ, Android ແມ່ນຂຽນໃນ Java ແລະຖືກນໍາໃຊ້ໃນອຸປະກອນຈໍານວນຫຼາຍ, ດັ່ງນັ້ນມັນຕ້ອງເປັນແບບທົ່ວໄປກວ່າ. ເມື່ອແອັບພລິເຄຊັນຖືກຢຸດ, ພື້ນທີ່ທີ່ມັນເອົາໄປຈະຖືກສົ່ງກັບລະບົບປະຕິບັດການ.
ລະຫັດເດີມທຽບກັບ. JVM
ເມື່ອຜູ້ພັດທະນາຂຽນແອັບຯ iOS, ພວກເຂົາລວບລວມມັນໂດຍກົງເຂົ້າໄປໃນລະຫັດທີ່ສາມາດດໍາເນີນການຢູ່ໃນໂປເຊດເຊີຂອງ iPhone. ລະຫັດນີ້ເອີ້ນວ່າລະຫັດພື້ນເມືອງເນື່ອງຈາກວ່າມັນບໍ່ຮຽກຮ້ອງໃຫ້ມີການຕີຄວາມຫຼືສະພາບແວດລ້ອມ virtual ເພື່ອດໍາເນີນການ. ໃນທາງກົງກັນຂ້າມ, Android ແມ່ນແຕກຕ່າງກັນ. ເມື່ອລະຫັດ Java ຖືກລວບລວມ, ມັນຈະຖືກປ່ຽນເປັນລະຫັດກາງ Java Bytecode, ເຊິ່ງເປັນຕົວປະມວນຜົນເປັນເອກະລາດ. ດັ່ງນັ້ນມັນຈຶ່ງສາມາດດໍາເນີນການກັບໂປເຊດເຊີທີ່ແຕກຕ່າງກັນຈາກຜູ້ຜະລິດທີ່ແຕກຕ່າງກັນ. ນີ້ມີປະໂຫຍດອັນໃຫຍ່ຫຼວງສໍາລັບການເຂົ້າກັນໄດ້ຂ້າມເວທີ.
ແນ່ນອນ, ຍັງມີຂໍ້ເສຍ. ແຕ່ລະລະບົບປະຕິບັດການ ແລະການປະສົມປະສານຂອງໂປເຊດເຊີຕ້ອງການສະພາບແວດລ້ອມທີ່ເອີ້ນວ່າ Java Virtual Machine (JVM). ແຕ່ລະຫັດພື້ນເມືອງປະຕິບັດໄດ້ດີກວ່າລະຫັດທີ່ປະຕິບັດຜ່ານ JVM, ດັ່ງນັ້ນການໃຊ້ JVM ພຽງແຕ່ເພີ່ມປະລິມານ RAM ທີ່ໃຊ້ໂດຍແອັບພລິເຄຊັນ. ດັ່ງນັ້ນແອັບຯ iOS ໃຊ້ຫນ່ວຍຄວາມຈໍາຫນ້ອຍ, ໂດຍສະເລ່ຍ 40%. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າ Apple ບໍ່ຈໍາເປັນຕ້ອງໃຫ້ iPhone ຂອງຕົນມີ RAM ຫຼາຍເທົ່າທີ່ມັນເຮັດກັບອຸປະກອນ Android.
ຂ້ອຍບໍ່ແມ່ນຜູ້ຊ່ຽວຊານແທ້ໆ, ແຕ່ຂ້ອຍຈະອະທິບາຍທັດສະນະຂອງຂ້ອຍຈາກທັດສະນະຂອງຜູ້ໃຊ້ທີ່ໃຊ້ android ມາ 15 ປີແລະຕອນນີ້ 2 ເດືອນໃນ iPhone 13 mini. ໃນ android ທີ່ມີຫນ່ວຍຄວາມຈໍາ 8GB (ຫລ້າສຸດ Samsung S21, Flip3) ປົກກະຕິແລ້ວຂ້ອຍກັບຄືນມາຫຼັງຈາກເວລາທີ່ແນ່ນອນກັບແອັບພລິເຄຊັນທີ່ເປີດຕົວກ່ອນຫນ້ານີ້ແລະມັນຍັງຖືກໂຫລດຢູ່ໃນ RAM, ດັ່ງນັ້ນມັນບໍ່ໄດ້ເລີ່ມຕົ້ນອີກເທື່ອຫນຶ່ງແລະຂ້ອຍສາມາດເກັບໄດ້ຢ່າງສະບາຍ. ປະໄວ້. ໃນທາງກົງກັນຂ້າມ, ເຖິງແມ່ນວ່າມີຫນ່ວຍຄວາມຈໍາ 8GB, ຂ້ອຍ "ຍິງ" ທຸກໆແອັບພລິເຄຊັນຫນຶ່ງຄັ້ງຕໍ່ອາທິດເພື່ອລ້າງ RAM, ເພາະວ່າລະບົບເລີ່ມຊ້າລົງກັບຫນ່ວຍຄວາມຈໍາເຕັມ. ຂ້ອຍບໍ່ມີບັນຫາກັບການຊ້າລົງໃນ iPhone, ແຕ່ໃນທາງກົງກັນຂ້າມ, ຂ້ອຍຕ້ອງເວົ້າວ່າເມື່ອໃຊ້ແອັບພລິເຄຊັນເກືອບຄືກັນ, ໃນທາງກົງກັນຂ້າມ, ມັນເກີດຂື້ນກັບຂ້ອຍເປັນປົກກະຕິເມື່ອຂ້ອຍກັບຄືນໄປຫາແອັບພລິເຄຊັນທີ່ເປີດຕົວກ່ອນຫນ້ານີ້. ມັນໂຫຼດຢ່າງສົມບູນອີກເທື່ອຫນຶ່ງແລະຂ້ອຍບໍ່ສາມາດສືບຕໍ່ຢ່າງລຽບງ່າຍໃນບ່ອນທີ່ຂ້ອຍປະໄວ້.
ທາງເລືອກໃດດີກວ່າ? ເວົ້າຍາກ… ການຂ້າແອັບໃນ android ແລະການລຶບ RAM ແມ່ນເປັນເລື່ອງຂອງການຄລິກສອງຄັ້ງ. ການໂຫຼດແອັບທັງ ໝົດ ອີກຄັ້ງໃນ iPhone ແມ່ນບໍ່ໃຊ້ເວລາຫຼາຍ, ສະນັ້ນມັນບໍ່ເປັນຫຍັງຫຼາຍ ... ແນ່ນອນ, ມັນຈະເປັນການດີທີ່ຈະມີ RAM ເພີ່ມເຕີມໃນ iPhone ແລະ multitasking ເຊັ່ນໃນ Android :-D
Shit, ມັນ stupid ອີກເທື່ອຫນຶ່ງ. ສໍາລັບສິ່ງຫນຶ່ງ, Android ບໍ່ໄດ້ເຮັດຢູ່ໃນ Java ສໍາລັບເວລາດົນນານ, ນັ້ນແມ່ນສິ່ງທີ່ Kotlin ແມ່ນສໍາລັບ. ຜູ້ເກັບຂີ້ເຫຍື້ອແມ່ນຮັບຜິດຊອບຂອງຫນ່ວຍຄວາມຈໍາ, ເຊິ່ງແມ່ນງ່າຍດາຍທີ່ສຸດໃນ iOS, ເຊິ່ງມີຢູ່ເຖິງແມ່ນວ່າມີຂໍ້ເສຍຂອງມັນ. ສິ່ງທັງຫມົດແມ່ນວ່າ iOS ຂ້າແອັບຯທັນທີທີ່ທ່ານເອົາພວກມັນອອກຈາກຫນ້າຈໍ. ນີ້ຈະປົດປ່ອຍຄວາມຊົງຈຳຄືກັບໃນ linux ເມື່ອທ່ານພິມ kill pid ຂອງຂະບວນການ. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າມັນໃຊ້ເວລາດົນຫຼາຍທີ່ຈະເປີດຕົວທ່ອງເວັບແລະກັບຄືນໄປຫາວຽກງານທີ່ຜ່ານມາ. ບົດຄວາມນີ້ເປັນການແປພາສາຂອງບົດຄວາມທີ່ມີອາຍຸ X ປີໂດຍ fanatic iOS ທີ່ບໍ່ມີຄວາມຮູ້ໃນການດໍາເນີນໂຄງການ. ແມ່ນແລ້ວ, ແນ່ນອນ, ການຄຸ້ມຄອງຄວາມຊົງຈໍາສ່ວນໃຫຍ່ແມ່ນຄວາມຮັບຜິດຊອບຂອງໂປລແກລມ, ສິ່ງທີ່ແອັບພລິເຄຊັນເຮັດ. ຖ້າລາວໄອໃສ່ມັນ, ມີຄວາມຊົງຈໍາທີ່ຮົ່ວໄຫຼໃນໂລກແລະ pqk ເຈົ້າສາມາດມີຫນ່ວຍຄວາມຈໍາ X Gb ແລະມັນຍັງບໍ່ມີປະໂຫຍດ. ແລະໃນເວລາທີ່ຄໍາຮ້ອງສະຫມັກຈໍານວນຫຼາຍແມ່ນພຽງແຕ່ WebView, ນີ້ແມ່ນງ່າຍດາຍຫຼາຍ, ເນື່ອງຈາກວ່າມັນເອງກິນສິ່ງທີ່ມັນສາມາດເຮັດໄດ້. ບົດຄວາມແມ່ນບໍ່ມີເຫດຜົນ, ຂີ້ເຫຍື້ອ.
Android ບໍ່ໃຊ້ jvm ອີກຕໍ່ໄປ, ແຕ່ dvm. ແລະນອກຈາກນັ້ນ, ມັນລວບລວມມັນເຂົ້າໄປໃນການປະຕິບັດພື້ນເມືອງ
Java ຍັງຢູ່ໃນ Android.