ยังมีผู้คนจำนวนมากที่ไม่รู้ว่าการทำงานหลายอย่างพร้อมกันใน iOS ทำงานอย่างไร อย่างไรก็ตาม ก่อนอื่น จำเป็นต้องชี้ให้เห็นว่านี่ไม่ใช่การทำงานหลายอย่างพร้อมกันจริงๆ แต่เป็นโซลูชันที่ชาญฉลาดมากที่ไม่สร้างภาระให้กับระบบหรือผู้ใช้
เรามักจะได้ยินความเชื่อโชคลางว่าแอปที่ทำงานอยู่เบื้องหลังใน iOS จะทำให้หน่วยความจำในการทำงานเต็ม ซึ่งทำให้ระบบทำงานช้าลงและอายุการใช้งานแบตเตอรี่ ดังนั้นผู้ใช้จึงควรปิดแอปด้วยตนเอง แถบมัลติทาสกิ้งไม่มีรายการกระบวนการพื้นหลังที่ทำงานอยู่ทั้งหมด แต่มีเพียงแอปพลิเคชันที่เพิ่งเปิดตัวเท่านั้น ดังนั้นผู้ใช้จึงไม่ต้องกังวลกับกระบวนการที่ทำงานอยู่เบื้องหลัง ยกเว้นในบางกรณี เมื่อคุณกดปุ่มโฮม แอปพลิเคชันมักจะเข้าสู่โหมดสลีปหรือปิด เพื่อไม่ให้โหลดโปรเซสเซอร์หรือแบตเตอรี่อีกต่อไป และหากจำเป็น ก็จะทำให้หน่วยความจำที่จำเป็นว่างขึ้น
ดังนั้น นี่จึงไม่ใช่การทำงานหลายอย่างพร้อมกันอย่างเต็มรูปแบบเมื่อคุณมีกระบวนการทำงานหลายสิบกระบวนการ มีแอปพลิเคชันเดียวเท่านั้นที่ทำงานอยู่เบื้องหน้าเสมอ ซึ่งจะหยุดชั่วคราวหรือปิดโดยสมบูรณ์หากจำเป็น มีกระบวนการรองเพียงไม่กี่กระบวนการเท่านั้นที่ทำงานอยู่เบื้องหลัง นั่นเป็นเหตุผลว่าทำไมคุณจึงไม่ค่อยพบปัญหาแอปพลิเคชันขัดข้องบน iOS เช่น Android มีแอปพลิเคชันที่ทำงานอยู่มากมายซึ่งผู้ใช้ต้องดูแล ในอีกด้านหนึ่ง สิ่งนี้ทำให้การทำงานกับอุปกรณ์ไม่เป็นที่พอใจ และในทางกลับกัน ทำให้การเริ่มต้นและการเปลี่ยนระหว่างแอปพลิเคชันช้าลง
ประเภทรันไทม์ของแอปพลิเคชัน
แอปพลิเคชันบนอุปกรณ์ iOS ของคุณอยู่ใน 5 สถานะเหล่านี้:
- วิ่ง: แอปพลิเคชันเริ่มต้นและทำงานในเบื้องหน้า
- พื้นหลัง: มันยังคงทำงานอยู่แต่ทำงานในพื้นหลัง (เราสามารถใช้แอปพลิเคชันอื่นได้)
- ถูกระงับ: ยังคงใช้ RAM แต่ไม่ทำงาน
- ไม่ได้ใช้งาน: แอปพลิเคชันกำลังทำงานอยู่ แต่มีคำสั่งทางอ้อม (เช่น เมื่อคุณล็อคอุปกรณ์โดยที่แอปพลิเคชันทำงานอยู่)
- ไม่ได้ทำงาน: แอปพลิเคชันสิ้นสุดลงหรือยังไม่ได้เริ่มต้น
ความสับสนเกิดขึ้นเมื่อแอปเข้าสู่พื้นหลังเพื่อไม่ให้รบกวน เมื่อคุณกดปุ่มโฮมหรือใช้ท่าทางเพื่อปิดแอปพลิเคชัน (iPad) แอปพลิเคชันจะเข้าสู่พื้นหลัง แอพส่วนใหญ่จะถูกระงับภายในไม่กี่วินาที (แอพเหล่านี้ถูกเก็บไว้ใน RAM ของ iDevice เพื่อให้สามารถเปิดใช้งานได้อย่างรวดเร็ว แอพเหล่านี้ไม่โหลดโปรเซสเซอร์มากนักและช่วยประหยัดอายุการใช้งานแบตเตอรี่) คุณอาจคิดว่าหากแอพยังคงใช้หน่วยความจำ คุณมี เพื่อลบออกด้วยตนเองเพื่อเพิ่มพื้นที่ว่าง แต่คุณไม่จำเป็นต้องทำอย่างนั้น เพราะ iOS จะทำเพื่อคุณ หากคุณมีแอพพลิเคชั่นที่ต้องการการระงับในพื้นหลัง เช่น เกมที่ใช้ RAM จำนวนมาก iOS จะลบออกจากหน่วยความจำโดยอัตโนมัติเมื่อจำเป็น และคุณสามารถรีสตาร์ทได้โดยการแตะที่ไอคอนแอพพลิเคชั่น
สถานะเหล่านี้จะไม่ปรากฏในแถบมัลติทาสก์ แผงจะแสดงเฉพาะรายการแอปที่เพิ่งเปิดตัว ไม่ว่าแอปจะหยุด หยุดชั่วคราว หรือทำงานในเบื้องหลังก็ตาม คุณอาจสังเกตเห็นว่าแอปพลิเคชันที่กำลังทำงานอยู่ไม่ปรากฏในแผงมัลติทาสก์
งานเบื้องหลัง
โดยปกติเมื่อคุณกดปุ่มโฮม แอปพลิเคชันจะทำงานในพื้นหลัง และหากคุณไม่ได้ใช้งาน แอปพลิเคชันจะหยุดทำงานชั่วคราวโดยอัตโนมัติภายในห้าวินาที ดังนั้น หากคุณกำลังดาวน์โหลดพอดแคสต์ ระบบจะประเมินว่าเป็นแอปพลิเคชันที่ทำงานอยู่ และจะชะลอการยกเลิกออกไปสิบนาที หลังจากผ่านไปอย่างช้าที่สุดสิบนาที กระบวนการจะถูกปล่อยออกจากหน่วยความจำ พูดง่ายๆ ก็คือ คุณไม่ต้องกังวลกับการขัดจังหวะการดาวน์โหลดของคุณด้วยการกดปุ่มโฮม ถ้ามันใช้เวลาไม่เกิน 10 นาทีจึงจะเสร็จสิ้น
ทำงานอย่างไม่มีกำหนดในพื้นหลัง
ในกรณีที่ไม่มีการใช้งาน ระบบจะยุติแอปพลิเคชันภายในห้าวินาที และในกรณีของการดาวน์โหลด การยกเลิกจะล่าช้าเป็นเวลาสิบนาที อย่างไรก็ตาม มีแอปพลิเคชันจำนวนเล็กน้อยที่ต้องทำงานในเบื้องหลัง นี่คือตัวอย่างบางส่วนของแอปที่สามารถทำงานในพื้นหลังได้อย่างไม่มีกำหนดใน iOS 5:
- แอพพลิเคชั่นที่เล่นเสียงและต้องถูกขัดจังหวะไประยะหนึ่ง (การหยุดเพลงชั่วคราวระหว่างสนทนาโทรศัพท์ ฯลฯ)
- แอปพลิเคชันที่ติดตามตำแหน่งของคุณ (ซอฟต์แวร์นำทาง)
- แอปพลิเคชันที่รับสาย VoIP เช่น หากคุณใช้ Skype คุณสามารถรับสายได้แม้ว่าแอปพลิเคชันนั้นจะอยู่ในพื้นหลังก็ตาม
- ดาวน์โหลดอัตโนมัติ (เช่น แผงหนังสือ)
ควรปิดแอปพลิเคชันทั้งหมดหากไม่ได้ทำงานอีกต่อไป (เช่น การดาวน์โหลดในเบื้องหลัง) อย่างไรก็ตาม มีข้อยกเว้นที่ทำงานอยู่เบื้องหลังอย่างต่อเนื่อง เช่น แอพ Mail ในเครื่อง หากทำงานอยู่เบื้องหลัง จะใช้หน่วยความจำ การใช้งาน CPU หรือลดอายุการใช้งานแบตเตอรี่
แอพที่ได้รับอนุญาตให้ทำงานในเบื้องหลังอย่างไม่มีกำหนดสามารถทำทุกอย่างได้ในขณะที่ใช้งาน ตั้งแต่การเล่นเพลงไปจนถึงการดาวน์โหลดตอนใหม่ของ Podcast
ดังที่ได้กล่าวไปแล้ว ผู้ใช้ไม่จำเป็นต้องปิดแอปที่ทำงานอยู่เบื้องหลัง ข้อยกเว้นประการเดียวคือเมื่อแอปที่ทำงานอยู่เบื้องหลังขัดข้องหรือไม่ตื่นจากโหมดสลีปอย่างถูกต้อง จากนั้นผู้ใช้สามารถปิดแอปพลิเคชันได้ด้วยตนเองในแถบมัลติทาสก์ แต่สิ่งนี้เกิดขึ้นไม่บ่อยนัก
โดยทั่วไปแล้ว คุณไม่จำเป็นต้องจัดการกระบวนการในเบื้องหลังเพราะระบบจะดูแลกระบวนการเหล่านั้นเอง นั่นเป็นเหตุผลว่าทำไม iOS ถึงเป็นระบบที่ใหม่และรวดเร็ว
จากมุมมองของนักพัฒนา
แอปพลิเคชันสามารถตอบสนองกับสถานะที่แตกต่างกันทั้งหมดหกสถานะโดยเป็นส่วนหนึ่งของการทำงานหลายอย่างพร้อมกัน:
1. แอปพลิเคชัน WillResignActive
ในการแปล สถานะนี้หมายความว่าแอปพลิเคชันจะลาออกจากการเป็นแอปพลิเคชันที่ใช้งานอยู่ (นั่นคือ แอปพลิเคชันในเบื้องหน้า) ในอนาคต (ไม่กี่วินาที) สิ่งนี้เกิดขึ้นเมื่อรับสายขณะใช้งานแอปพลิเคชัน แต่ในขณะเดียวกันวิธีนี้ยังทำให้เกิดสถานะนี้ก่อนที่แอปพลิเคชันจะเข้าสู่พื้นหลัง ดังนั้นคุณต้องคำนึงถึงการเปลี่ยนแปลงเหล่านี้ด้วย วิธีนี้ยังเหมาะสมที่จะระงับกิจกรรมทั้งหมดที่กำลังดำเนินการเมื่อมีสายเรียกเข้าและรอจนกระทั่งสิ้นสุดการโทร เป็นต้น
2. แอปพลิเคชันDidEnterBackground
สถานะระบุว่าแอปพลิเคชันอยู่ในพื้นหลัง นักพัฒนาควรใช้วิธีนี้เพื่อระงับกระบวนการทั้งหมดที่ไม่จำเป็นต้องทำงานในพื้นหลัง และล้างหน่วยความจำของข้อมูลที่ไม่ได้ใช้และกระบวนการอื่น ๆ เช่น ตัวจับเวลาที่หมดอายุ การล้างภาพที่โหลดออกจากหน่วยความจำที่ไม่จำเป็น หรือการปิด การเชื่อมต่อกับเซิร์ฟเวอร์ เว้นแต่เป็นสิ่งสำคัญสำหรับแอปพลิเคชันที่จะทำการเชื่อมต่อให้เสร็จสมบูรณ์ในเบื้องหลัง เมื่อมีการเรียกใช้เมธอดในแอปพลิเคชัน โดยทั่วไปควรใช้วิธีดังกล่าวเพื่อระงับแอปพลิเคชันโดยสมบูรณ์ หากบางส่วนไม่จำเป็นต้องทำงานในเบื้องหลัง
3. แอปพลิเคชัน WillEnterForeground
สถานะนี้จะตรงกันข้ามกับสถานะแรก ซึ่งแอปพลิเคชันจะลาออกจากสถานะใช้งานอยู่ สถานะเพียงหมายความว่าแอปที่กำลังนอนหลับจะกลับมาทำงานต่อจากพื้นหลังและปรากฏอยู่เบื้องหน้าภายในไม่กี่มิลลิวินาทีถัดไป นักพัฒนาควรใช้วิธีนี้เพื่อดำเนินกระบวนการใด ๆ ที่ไม่ได้ใช้งานในขณะที่แอปพลิเคชันอยู่ในพื้นหลังต่อ ควรสร้างการเชื่อมต่อกับเซิร์ฟเวอร์อีกครั้ง รีเซ็ตตัวจับเวลา รูปภาพและข้อมูลโหลดลงในหน่วยความจำ และกระบวนการที่จำเป็นอื่นๆ สามารถดำเนินการต่อได้ก่อนที่ผู้ใช้จะเห็นแอปพลิเคชันที่โหลดอีกครั้ง
4. แอปพลิเคชัน DidBecomeActive
สถานะระบุว่าแอปพลิเคชันเพิ่งเปิดใช้งานหลังจากถูกกู้คืนไปที่เบื้องหน้า นี่เป็นวิธีการที่สามารถใช้เพื่อปรับเปลี่ยนอินเทอร์เฟซผู้ใช้เพิ่มเติมหรือเพื่อคืนค่า UI ให้เป็นสถานะดั้งเดิม ฯลฯ ซึ่งเกิดขึ้นจริงในขณะที่ผู้ใช้เห็นแอปพลิเคชันบนจอแสดงผลแล้ว ดังนั้นจึงจำเป็นต้อง พิจารณาด้วยความระมัดระวังว่าจะเกิดอะไรขึ้นในวิธีนี้และในวิธีการก่อนหน้า พวกมันถูกเรียกทีละอันโดยมีความแตกต่างกันไม่กี่มิลลิวินาที
5. การสมัครจะยุติ
สถานะนี้เกิดขึ้นสองสามมิลลิวินาทีก่อนที่แอปพลิเคชันจะออก นั่นคือก่อนที่แอปพลิเคชันจะยุติการทำงานจริง ไม่ว่าจะด้วยตนเองจากการทำงานหลายอย่างพร้อมกันหรือเมื่อปิดอุปกรณ์ ควรใช้วิธีการนี้เพื่อบันทึกข้อมูลที่ประมวลผล เพื่อยุติกิจกรรมทั้งหมด และเพื่อลบข้อมูลที่ไม่จำเป็นต้องใช้อีกต่อไป
6. แอปพลิเคชันDidReceiveMemoryWarning
เป็นสถานะสุดท้ายที่มีการกล่าวถึงมากที่สุด หากจำเป็น จะต้องรับผิดชอบในการลบแอปพลิเคชันออกจากหน่วยความจำ iOS หากใช้ทรัพยากรระบบโดยไม่จำเป็น ฉันไม่ทราบแน่ชัดว่า iOS ทำอะไรกับแอปพื้นหลัง แต่ถ้าต้องการให้แอปปล่อยทรัพยากรไปยังกระบวนการอื่น ระบบจะแจ้งเตือนหน่วยความจำให้ปล่อยทรัพยากรใดก็ตามที่มี ดังนั้นวิธีนี้จึงถูกเรียกในแอปพลิเคชัน นักพัฒนาควรใช้งานเพื่อให้แอปพลิเคชันสละหน่วยความจำที่จัดสรรไว้ บันทึกทุกอย่างที่ดำเนินการอยู่ ล้างข้อมูลที่ไม่จำเป็นออกจากหน่วยความจำ และทำให้หน่วยความจำว่างอย่างเพียงพอ เป็นเรื่องจริงที่นักพัฒนาจำนวนมาก แม้แต่ผู้เริ่มต้น ไม่ได้คิดหรือเข้าใจเรื่องดังกล่าว และอาจเกิดขึ้นได้ว่าแอปพลิเคชันของพวกเขาคุกคามอายุการใช้งานแบตเตอรี่และ/หรือใช้ทรัพยากรระบบโดยไม่จำเป็น แม้ว่าจะอยู่เบื้องหลังก็ตาม
คำตัดสิน
สถานะทั้งหกนี้และวิธีการที่เกี่ยวข้องเป็นเบื้องหลังของ "มัลติทาสก์" ทั้งหมดใน iOS มันเป็นระบบที่ยอดเยี่ยม ตราบใดที่นักพัฒนาไม่ละเลยความจริงที่ว่ามีความจำเป็นต้องรับผิดชอบต่อสิ่งที่แอพพลิเคชั่นส่งไปบนอุปกรณ์ของผู้ใช้ของพวกเขา ถ้าพวกเขาถูกย่อให้เล็กสุดหรือได้รับคำเตือนจากระบบและอื่นๆ
แหล่งที่มา: Macworld.com
ผู้เขียน: ยาคุบ โปชาเร็ก, มาร์ติน ดูเบ็ค (อาร์นี่เอ็กซ์)
คุณมีปัญหาในการแก้ไขหรือไม่? คุณต้องการคำแนะนำหรืออาจค้นหาใบสมัครที่เหมาะสมหรือไม่? อย่าลังเลที่จะติดต่อเราผ่านแบบฟอร์มในส่วนนี้ การให้คำปรึกษาครั้งต่อไปเราจะตอบคำถามของคุณ
สวัสดี บทความที่ยอดเยี่ยมจริงๆ แต่ฉันสงสัยว่าคุณมีการสนับสนุนด้านเทคนิคหรือไม่ เพราะผมแก้แบตมาหลายครั้งก่อนเข้านอนแล้วเกิดว่าปิด wifi และข้อมูลมือถือ ใช้เวลานานกว่าอีกกรณีปิด wifi และมีแค่ 3G เท่านั้น
น่าเสียดายที่ประสบการณ์ก็คือใน iOS จะต้องปิดแอปพลิเคชันด้วยตนเอง และระบบจะไม่ทำงานเหมือนเมื่อก่อนอีกต่อไป
ฉันเปลี่ยน iPhone เป็น Windows Phone (Samsung Omnia W ราคา 6200,-) และความเร็วของระบบอยู่ในระดับที่แตกต่างอย่างสิ้นเชิง
กลัวว่าพอแท็บเล็ต Windows 8 Metro ออกมา จะมาเปลี่ยน iPad ด้วย...
@007 – ใช่ หากคุณกำลังเปรียบเทียบ iPhone3Gs เก่ากับ WP ใหม่ ใช่แล้ว (ใครจะคาดคิดอย่างนั้น?) WP จะเร็วขึ้นเล็กน้อย มิฉะนั้นการนินทาเกี่ยวกับ Karlulka อาจไม่เหมาะกับคุณและควรเปรียบเทียบ HW ในปัจจุบัน ฉันซื้อ WP7 ด้วยและในที่สุดก็ได้ 4 วินาที ซึ่งแสดงถึงระดับการใช้งานที่แตกต่างอย่างสิ้นเชิงจาก WP7 ดังนั้นเลื่อนดูแผ่นกระเบื้องอย่างเพลิดเพลินและไม่มีที่สิ้นสุด
เห็นด้วยกับพี่จ๋าอย่างยิ่งครับ
ฉันจะบริจาคอีกครั้งจากเศษซากของถังอื่น - Samsung Galaxy S และ iPhone 4 - ฉันจะบอกว่าอายุเทียบเคียงได้หรือเปล่า? ในช่วงเวลาของ iOS 4 และในแง่ของการใช้งานและความเร็วที่อื่นที่ไม่ใช่ Android นั้น Apple ได้แก้ไขแนวคิดในการทำงานกับแอปพลิเคชันได้เป็นอย่างดี แต่ก็ไม่เป็นเช่นนั้นกับ Android อีกต่อไป สุดท้ายฉันก็ลงเอยด้วย 4S อยู่ดี และไม่มีข้อติอะไร เพราะ "มันใช้งานได้" ..และมันทำงานได้เร็วมาก!
ทฤษฏีก็สวยครับ...แต่ในทางปฏิบัติผมยังปิดแอพในแถบอยู่นะครับ ;)
ขอบคุณ น่าสนใจมาก ใช้งานได้จริง น่าสนใจ ไม่ขาดการแกว่งและความลึก ตอกย้ำความหลงใหลของวัยรุ่นยุคปัจจุบันอย่างชัดเจนด้วยแบรนด์ต้องห้ามนี้! แต่ขอบคุณสำหรับเธอเช่นเดียวกับบทความนี้
บทความนี้ผิดอย่างสิ้นเชิง
แอปพลิเคชันจะไม่ปิดเมื่อกดปุ่มโฮมตามที่ระบุไว้อย่างผิดพลาด แต่จะหยุดชั่วคราว เช่น. ห้ามลบออกจากหน่วยความจำและห้ามออกเด็ดขาด เพียงหยุดการทำงานชั่วคราว iOS จะให้เวลา CPU แก่แอปนี้ 0% แน่นอนว่ามันไม่ได้ "สลับ" ที่ใดก็ได้ในหน่วยความจำ iDevice ตามที่ระบุไว้ในบทความ ต้องขอบคุณความจริงที่ว่ามันเป็นไปได้ที่จะใช้การสลับแอป
แอปพลิเคชันจะถูกลบออกจากหน่วยความจำเมื่อโทรศัพท์มีหน่วยความจำน้อยเพื่อเรียกใช้แอปพลิเคชันอื่นที่มีลำดับความสำคัญสูงกว่า (โดยทั่วไปแล้วแอปพลิเคชันอื่นกำลังทำงานอยู่เบื้องหน้า)
ในกรณีแรก คุณพูดถูก มันเป็นข้อผิดพลาดในการแปล สำหรับการสลับเราไม่ได้พูดถึงเรื่องนั้นในที่นี้ เรากำลังพูดถึงหน่วยความจำในการทำงาน ไม่ใช่พื้นที่เก็บข้อมูลในอุปกรณ์ iOS
รูปภาพของแอปพลิเคชันจะถูกเก็บไว้ในหน่วยความจำในช่วงเวลาที่จำกัดจนกว่าจะถูกเรียกใช้อีกครั้งด้วยคำสั่ง (ดู 13,7 GB จาก 16 GB: 2,3 GB สงวนไว้สำหรับระบบและแอปพลิเคชันที่ถูกระงับ)
ดังนั้นจึงจำเป็นต้องแยกแยะระหว่างแอปพลิเคชันต่างๆ เช่น การนำทาง Skype และแอปพลิเคชันที่คล้ายกัน แอปพลิเคชันเหล่านี้ยังคงทำงานอยู่แม้ในเบื้องหลัง หรือฟังก์ชันบางอย่างไม่สิ้นสุดและดำเนินต่อไป เช่น เพื่อส่งข้อมูลเกี่ยวกับตำแหน่งหรือข้อมูลตำแหน่ง หรือเช่น Vokul ในโหมด pord การฟังและมัลติทาสกิ้งยังคงฟังอยู่ในพื้นหลัง
แอปพลิเคชันเหล่านี้ทำให้แบตเตอรี่หมดและจำเป็นต้องปิดด้วยตนเองโดยไม่ต้องรอ iOS ไม่จำเป็นสำหรับกรณีอื่นๆ เฉพาะในกรณีที่แอปพลิเคชันขัดข้องเท่านั้น
ฉันไม่สามารถเห็นด้วยกับบทความนี้ นาที. บน iPad รุ่นที่ 1 (iOS 5.0.1) จะเห็นได้ชัดว่าฉันมีแอป "เปิด" จำนวนมากในแถบมัลติทาสกิ้งหรือเพียงไม่กี่แอป iOS พยายามทำความสะอาดหน่วยความจำ แต่เห็นได้ชัดว่ายังไม่เพียงพอ - RAM ขนาดเล็กน่าจะเป็นจุดอ่อนที่ใหญ่ที่สุด
มากขึ้นอยู่กับระบบและฮาร์ดแวร์ที่ใช้ มันค่อนข้างสมเหตุสมผลที่ iPad 1 ที่ใช้ iOS 5.0.1 จะแย่กว่า iPad รุ่นที่ 2
ขออภัยเพื่อน นี่คือคำอธิบายของวิธี IDEAL ที่ควรทำงาน น่าเสียดายที่ความเป็นจริงแตกต่างไปจากเดิมอย่างสิ้นเชิง และคุณจะรู้ได้หากคุณใช้ผลิตภัณฑ์ของ Apple อย่างน้อยก็มากเท่ากับฉัน (เช่น เป็นครั้งคราว)
"คุณมักจะได้ยินความเชื่อโชคลางว่าแอพที่ทำงานอยู่เบื้องหลังใน iOS เต็มไปด้วยหน่วยความจำปฏิบัติการ"
มันไม่ใช่ความเชื่อโชคลาง มันเป็นเพียงข้อเท็จจริง ท้ายที่สุดคุณอ้างสิทธิ์ในบทความ
"อย่างที่ผมได้กล่าวไปก่อนหน้านี้ ผู้ใช้ไม่จำเป็นต้องปิดแอปพลิเคชันที่ทำงานอยู่เบื้องหลัง"
เรื่องไร้สาระ นั่นมันแค่เรื่องไร้สาระ โฆษณาชวนเชื่อของ Apple อย่าโกรธฉันนะ
“แต่คุณไม่จำเป็นต้องทำอย่างนั้น เพราะ 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 เป็นหายนะ
@เมฆ – ฉันใช้ผลิตภัณฑ์ Apple ทุกวันมาหลายปีแล้วและสิ่งนี้ไม่เคยเกิดขึ้นกับฉันเลย ดังนั้นทฤษฎีของคุณจึงไม่ได้ผล
OT:
@redakce – คุณจะเห็นว่าเว็บไซต์มีการทำงานอย่างต่อเนื่องหรือมีบางอย่างเกิดขึ้น แต่ฉันรู้สึกว่าใช้เวลาไม่ถึงหนึ่งสัปดาห์เพื่อให้ทุกอย่างทำงานได้อย่างที่ควรจะเป็น และฉันไม่ได้มาที่นี่อีกต่อไปเพราะรูปลักษณ์ใหม่ไม่เหมาะกับฉัน อย่างน้อยฉันก็ใช้เวอร์ชันมือถือบน iPhone แต่ตอนนี้มันใช้งานไม่ได้เลย - ทำไมล่ะ? ขณะนี้พวกเขาไม่ได้ตอบสนองต่อโพสต์ในความคิดเห็น
@SteveJSF น่าเสียดายที่สิ่งต่าง ๆ ไม่ได้เป็นไปตามที่เราต้องการเสมอไป สำหรับคำตอบนั้น ปลั๊กอิน SEO ใหม่ใช้งานไม่ได้ ขณะนี้อยู่ระหว่างการแก้ไข
นอกจากนี้ WP-Touch ยังยุติบริการของเราด้วยเหตุผลบางประการ ดังนั้นเราจึงตัดสินใจหาวิธีแก้ปัญหาที่ดีกว่าปลั๊กอินนี้ เพื่อรอติดตามข่าวสารต่อไปได้เร็วๆ นี้ :-)
บทความที่ดี ในส่วนของการปฏิบัตินั้น ฉันอยากจะบอกว่าฉันเห็นด้วยกับหลายสิ่งหลายอย่างและส่วนใหญ่แล้วมันใช้งานได้ตามที่ระบุไว้ แต่น่าเสียดายที่ยังมีแอปพลิเคชันที่เขียนไม่ดีซึ่งทำงานไม่ถูกต้อง จากนั้นก็มีกรณีเช่นนี้ สังเกตโดยผู้อ่านบางคน ฉันคิดว่า Skype เป็นตัวอย่างที่ดีมาก ฉันรู้จากการฝึกฝนว่า Skype ยังคงทำงานในพื้นหลัง (และนั่นเป็นเรื่องปกติและนั่นคือสิ่งที่ควรจะเป็น) แต่ปัญหาคือแอปพลิเคชันนี้ทำให้แบตเตอรี่ของอุปกรณ์หมดไปมากและ ฉันไม่สามารถมองเห็นมันได้อย่างถูกต้องอีกต่อไป ในทางกลับกัน แอปพลิเคชันเช่น Facebook, Badoo เป็นต้น พวกเขายังคงทำงานอยู่เบื้องหลัง แต่การบริโภคของพวกเขาแทบจะมองไม่เห็น (อย่างน้อยฉันก็ไม่สังเกตเห็นเลย) ดังนั้นฉันคิดว่าข้อผิดพลาดอยู่ในแต่ละแอปพลิเคชัน หากคุณรู้ว่าอันไหน ก็เพียงพอที่จะปิดด้วยตนเองเท่านั้น!
ดังนั้นแนวทางปฏิบัติคือให้ Facebook ทำงานตามความจำเป็นและ Skype ทำงานเมื่อจำเป็นเท่านั้น
ในทางกลับกัน หากฉันต้องการประหยัดแบตเตอรี่และรู้ว่าต้องรักษา iPhone ให้ "คงอยู่" ให้นานที่สุดเท่าที่จะทำได้ ฉันก็ปิดทุกสิ่งที่ไม่จำเป็นในการทำงานหลายอย่างพร้อมกันด้วย แต่โดยส่วนใหญ่แล้วมันไม่ได้ส่งผลกระทบใหญ่หลวงอะไร แต่ถ้าจำเป็น ฉันจะจำกัด 3G, อินเทอร์เน็ตบนมือถือทั้งหมด, WiFi, บริการระบุตำแหน่ง โหมดเครื่องบิน ความแรงของแสง ฯลฯ ฉันยังปิดแอปพลิเคชันที่กล่าวมาข้างต้นในการทำงานหลายอย่างพร้อมกันซึ่งเป็นส่วนหนึ่งของกิจวัตรประจำวัน
โดยส่วนตัวแล้วฉันคิดว่าบทความนี้เป็นเรื่องจริง แต่น่าเสียดายที่โปรแกรมเมอร์บางคนหักล้างสิ่งเหล่านี้กับแอปพลิเคชันของตนเนื่องจากแอปพลิเคชันของพวกเขาไม่ถูกต้องและในความคิดของฉันมีเพียงสองวิธีสำหรับสิ่งนี้ 1. หากเป็นไปได้ที่จะไม่ใช้แอปพลิเคชันและค้นหา ทางเลือกอื่นหากเป็นไปได้ หรือ 2. หากเป็นไปไม่ได้ โปรดดูเช่น Skype เขียนถึงโปรแกรมเมอร์ที่ระบุในรายงานและหวังว่าพวกเขาจะทำอะไรบางอย่างเกี่ยวกับเรื่องนี้
การปิดใช้งานแอปด้วยตนเองอาจไม่มีประโยชน์ แต่ฉันก็ทำเช่นนั้น ฉันพยายามที่จะไม่ปิดระบบแอปพลิเคชัน ปล่อยให้พวกเขาทำงาน (หรือปล่อยให้พวกเขาหลับในพื้นหลัง) และอายุการใช้งานแบตเตอรี่ก็ลดลงมาก นอกจากนี้ยังจำเป็นต้องรีสตาร์ท iPad 2 หลังจากนั้นประมาณสามสัปดาห์ เนื่องจากมันตอบสนองช้า ดังนั้นฉันจึงปิดแอปด้วยตนเอง แบตเตอรี่ใช้งานได้นานขึ้น ฉันเพิ่งรีบูตในวันคริสต์มาส และมันก็ทำงานได้ดี
อย่างไรก็ตาม ฉันทำสิ่งเดียวกันใน Mac OS X ฉันแค่ปิดแอปพลิเคชันที่ฉันไม่ต้องการ (CMD+Q) ดีกว่าปล่อยให้มันพักในพื้นหลังและกิน RAM โดยไม่จำเป็น (ซึ่ง OS X สามารถทำได้ ทำงานได้ดีมาก) ฉันมี RAM เพียงเล็กน้อยเพียง 8 GB แต่ใน Windows 7 ที่มี 8 GB ระบบไม่ตอบสนองช้าหรือสลับใน OS X นี่เป็นปรากฏการณ์ที่ค่อนข้างบ่อย (ฉันไม่เคยปิดคอมพิวเตอร์ ฉันทำกับ Mac เหมือนกัน ดังนั้นเวลาหนึ่งเดือนขึ้นไปจึงไม่ใช่ข้อยกเว้น ปัญหาคือบางครั้งฉันต้องรีสตาร์ท Mac เพื่อเป็นการป้องกันไว้ก่อนในการเพิ่ม RAM และ "เร่งความเร็ว" Windows 7 ไม่จำเป็นต้องใช้สิ่งนี้)
ฉันสนใจวิธีการระเบิดแอปพลิเคชันมากกว่า สิ่งที่เกิดขึ้นกับฉันคือแอปพลิเคชัน (โดยเฉพาะบน Geocaching) เข้าสู่สถานะที่มีการโหลดบางอย่างจากเซิร์ฟเวอร์หลักและติดอยู่ในสถานะนั้น ปุ่มโฮมใช้งานได้ หลังจากรีบูตเครื่องก็กลับสู่สถานะค้าง (ที่ฉันปิดไว้) ทางออกด้วยตนเอง (ไปยังเมนูมัลติทาสก์ กดไอคอนค้างไว้และลบเพื่อปิด) = แอปพลิเคชันหายไป หลังจากรีสตาร์ทแล้วจะเปิดในสถานะเดิมที่ค้าง ดังนั้นฉันจึงปิดทุกอย่าง ปิดโทรศัพท์ เปิดเครื่อง ดับเบิลคลิกหน้าแรก แล้วดูเถิด แอปพลิเคชันทั้งหมดอยู่ที่นั่นเหมือนเดิมก่อนที่จะปิดก่อนที่จะปิดไป การรีสตาร์ทไม่ได้ช่วยอะไรเช่นกัน - ให้ยึดบ้านและด้านบนไว้จนกว่ามันจะร้อน สิ่งเดียวที่ช่วยได้คือการลบแอปพลิเคชันออกจากโทรศัพท์ รีสตาร์ท และติดตั้งใหม่บนโทรศัพท์ อย่างใดฉันก็ไม่ได้รับมัน
การจัดการมัลติทาสกิ้งนี้ใช้งานได้และขึ้นอยู่กับนักพัฒนาที่จะรับมือกับสถานการณ์เหล่านี้ สำหรับผู้ที่สนใจคำอธิบายสถานการณ์ทั้งหมดโดยละเอียดและเป็นมืออาชีพ ฉันจะเขียนไว้ที่นี่ว่าเป็นอย่างไร
แอปพลิเคชันสามารถตอบสนองได้ทั้งหมด 6 สถานะ และสถานะเหล่านี้คือ:
ใบสมัคร WillResignActive
แอปพลิเคชันDidEnterBackground
แอปพลิเคชัน WillEnterForeground
แอปพลิเคชัน DidBecomeActive
แอปพลิเคชันจะยุติ
applicationDidReceiveMemoryWarning
ตอนนี้ฉันจะพยายามอธิบายสถานะเหล่านี้โดยละเอียดยิ่งขึ้น
applicationWillResignActive – สถานะนี้หมายความว่าในอนาคต (ไม่กี่มิลลิวินาที) แอปพลิเคชันจะลาออกเนื่องจากแอปพลิเคชันที่ใช้งานอยู่ (เช่น แอปพลิเคชันเบื้องหน้า) สิ่งนี้จะเกิดขึ้น เช่น เมื่อรับสายขณะใช้งานแอปพลิเคชัน แต่ในขณะเดียวกันนี้ ดังนั้นสถานะนี้จะทริกเกอร์ก่อนที่แอปพลิเคชันจะเข้าสู่เบื้องหลัง ดังนั้นคุณจึงต้องคำนึงถึงการเปลี่ยนแปลงเหล่านี้ด้วย วิธีนี้ยังเหมาะสมที่จะระงับกิจกรรมทั้งหมดที่กำลังดำเนินการเมื่อมีสายเรียกเข้าและรอจนกระทั่งสิ้นสุดการโทร เป็นต้น
applicationDidEnterBackground - สถานะนี้บ่งชี้ว่าแอปพลิเคชันเข้าสู่พื้นหลังแล้ว นักพัฒนาควรใช้วิธีนี้เพื่อระงับกระบวนการทั้งหมดที่ไม่จำเป็นต้องทำงานในพื้นหลัง และล้างหน่วยความจำของข้อมูลที่ไม่ได้ใช้และกระบวนการอื่น ๆ เช่น ตัวจับเวลาหมดอายุ ล้างจาก อิมเมจที่โหลดในหน่วยความจำซึ่งไม่จำเป็นหรือยุติการเชื่อมต่อกับเซิร์ฟเวอร์หากไม่สำคัญสำหรับแอปพลิเคชันที่จะทำการเชื่อมต่อให้เสร็จสมบูรณ์ในพื้นหลัง โดยพื้นฐานแล้ว วิธีการนี้เมื่อถูกเรียกในแอปพลิเคชันควรใช้เพื่อระงับแอปพลิเคชันโดยสมบูรณ์ หากบางส่วนไม่จำเป็นต้องทำงานในเบื้องหลัง
applicationWillEnterForeground – สถานะนี้ตรงกันข้ามกับสถานะแรกเมื่อแอปพลิเคชันจะลาออกจากสถานะใช้งานอยู่ สถานะของแอปพลิเคชันนี้หมายความว่าในอีกไม่กี่มิลลิวินาทีข้างหน้าแอปพลิเคชันที่นอนหลับจะกลับมาทำงานต่อจากพื้นหลังและปรากฏในเบื้องหน้า (แอปพลิเคชันเข้าสู่เบื้องหน้า) นักพัฒนาควรใช้วิธีนี้เพื่อดำเนินกระบวนการใด ๆ ที่ไม่ได้ใช้งานในขณะที่แอปพลิเคชันทำงานต่อ ในเบื้องหลัง ควรสร้างการเชื่อมต่อกับเซิร์ฟเวอร์อีกครั้ง รีเซ็ตตัวจับเวลา รูปภาพและข้อมูลโหลดลงในหน่วยความจำ และกระบวนการที่จำเป็นอื่นๆ สามารถดำเนินการต่อได้ก่อนที่ผู้ใช้จะเห็นแอปพลิเคชันที่โหลดอีกครั้ง
applicationDidBecomeActive – สถานะนี้บ่งบอกว่าแอปพลิเคชั่นเพิ่งเปิดใช้งานหลังจากถูกกู้คืนสู่เบื้องหน้า ซึ่งเป็นวิธีการที่สามารถนำไปใช้ปรับแต่ง User Interface เพิ่มเติม หรือคืนค่า UI กลับสู่สถานะดั้งเดิม เป็นต้น ซึ่งวิธีนี้เกิดขึ้นจริง เมื่อผู้ใช้สามารถเห็นบนหน้าจอได้แล้ว ดังนั้นจึงจำเป็นต้องพิจารณาจากงบดุลว่าเกิดอะไรขึ้นในวิธีนี้และในวิธีก่อนหน้า พวกมันถูกเรียกทีละอันโดยมีความแตกต่างกันไม่กี่มิลลิวินาที
applicationWillTerminate - สถานะนี้เกิดขึ้นสองสามมิลลิวินาทีก่อนที่แอปพลิเคชันจะยุติ นั่นคือก่อนที่แอปพลิเคชันจะยุติจริง ไม่ว่าจะด้วยตนเองจากการทำงานหลายอย่างพร้อมกันหรือเมื่อปิดอุปกรณ์ วิธีนี้ควรใช้เพื่อบันทึกข้อมูลที่ประมวลผล และเพื่อสิ้นสุดกิจกรรมทั้งหมด และลบข้อมูลที่ไม่จำเป็นต้องใช้อีกต่อไป
applicationDidReceiveMemoryWarning - และนี่คือเงื่อนไขที่มีการกล่าวถึงกันมากที่นี่ หากจำเป็น iOS จะลบแอปพลิเคชันออกจากหน่วยความจำหากใช้ทรัพยากรระบบโดยไม่จำเป็น ฉันไม่ทราบแน่ชัดว่า iOS ทำอะไรกับแอปพื้นหลัง แต่หากต้องการให้แอปปล่อยทรัพยากรไปยังกระบวนการอื่น ระบบจะแจ้งเตือนหน่วยความจำให้ปล่อยทรัพยากรที่แอปเก็บไว้ ดังนั้นวิธีนี้จึงถูกเรียกในแอปพลิเคชัน และนักพัฒนาควรใช้วิธีนี้เพื่อให้แอปพลิเคชันสละหน่วยความจำที่มีอยู่ บันทึกการประมวลผลและลบข้อมูลที่ไม่จำเป็นออกจากหน่วยความจำ มิฉะนั้นจะทำให้หน่วยความจำว่างอย่างเพียงพอ เป็นเรื่องจริงที่นักพัฒนาจำนวนมาก เช่น ผู้เริ่มต้น ไม่ได้คิดถึงเรื่องดังกล่าวหรือไม่เข้าใจ และอาจเกิดขึ้นได้ว่าแอปพลิเคชันของพวกเขาเป็นอันตรายต่ออายุการใช้งานแบตเตอรี่และ/หรือใช้ทรัพยากรระบบโดยไม่จำเป็นแม้จะทำงานอยู่เบื้องหลังก็ตาม ฉันไม่รู้ว่า iOS จะทำงานอย่างไรหากแอปพลิเคชันไม่ทำอะไรเลยหลังจากได้รับคำเตือนหน่วยความจำและยังคงใช้ทรัพยากรระบบต่อไปเหมือนเมื่อก่อน
สถานะและวิธีการที่เกี่ยวข้องบางส่วนเหล่านี้อยู่เบื้องหลัง "การทำงานหลายอย่างพร้อมกัน" ทั้งหมดใน iOS... มันเป็นระบบที่ยอดเยี่ยมหากนักพัฒนาไม่เพิกเฉยต่อความจำเป็นในการรับผิดชอบเกี่ยวกับสิ่งที่แอปจะโยนทิ้งบนอุปกรณ์ของผู้ใช้หากถูกย่อให้เล็กสุด หรือรับการแจ้งเตือนจากระบบ และอื่นๆ…
ฉันหวังว่าคำอธิบายสั้น ๆ นี้จะช่วยให้คุณเข้าใจว่าแอปพลิเคชันมีส่วนเกี่ยวข้องอย่างไรในการทำให้ทุกอย่างทำงานได้อย่างราบรื่น ดังนั้นจึงแทบจะเป็นไปได้ที่จะพูดได้ว่าผู้ใช้เป็นความผิดพลาดจากการใช้งานที่ไม่ถูกต้อง ซึ่งสามารถเข้าใจได้ว่า - หากคุณใช้แอปพลิเคชันฟรีเป็นส่วนใหญ่จากนักพัฒนามือสมัครเล่นเป็นจำนวนมาก อุปกรณ์ iOS ของคุณจะทำงานได้แย่กว่าหากคุณใช้แอปพลิเคชันขนาดใหญ่ จำนวนแอปพลิเคชันฟรีและจ่ายเงินจากนักพัฒนาที่มีประสบการณ์หรือมืออาชีพ นี่ไม่ได้เป็นการบอกว่าไม่มีข้อยกเว้นในทั้งสองแวดวง ตัวอย่างเช่น Foursquare มีพฤติกรรมค่อนข้างแปลกและเรียกร้องและในขณะเดียวกันใครๆ ก็คาดหวังว่าพวกเขาเป็นนักพัฒนาที่มีทักษะมากซึ่งให้เวลากับการจัดการหน่วยความจำและแบตเตอรี่เป็นจำนวนมาก แต่สิ่งที่ตรงกันข้ามนั้นเป็นจริง ปัญหาที่ใหญ่ที่สุดของ 4SQ คือการสื่อสารกับเซิร์ฟเวอร์ ซึ่งมักจะค้างและล้นหลาม นี่เป็นเพียงตัวอย่างความจริงที่ว่าแม้แต่แอปพลิเคชันที่รู้จักกันดีก็ยังมีปัญหา ซึ่งไม่ได้เปลี่ยนความจริงที่ว่า 4SQ เป็นบริการที่ยอดเยี่ยม
ขอให้สนุกนะแอปเปิ้ล!! -
เราได้เพิ่มข้อมูลลงในบทความโดยได้รับอนุญาตจากผู้เขียน ;-)
ขออภัย ENTER มีอยู่ทุกที่ระหว่างย่อหน้า พวกเขาสามารถทำอะไรบางอย่างได้ที่นี่ เพื่อให้ความคิดเห็นมีการจัดรูปแบบข้อความที่หลากหลายเป็นอย่างน้อย
ArnieX: ขอบคุณสำหรับความคิดเห็น!!
Faramir นั้น: ฉันแค่เกี่ยวกับปัญหาของคุณ ฉันไม่รู้ว่ามันจะช่วยในกรณีของคุณได้ไหม แต่ฉันรู้จากประสบการณ์ของตัวเองว่าถ้าคุณปิดแอปพลิเคชัน (ในการทำงานหลายอย่างพร้อมกัน) จะใช้เวลาสองสามวินาทีก่อนที่จะปิด ดังนั้นหาก คุณปิดมัน ฉันขอแนะนำให้รอสักครู่ (ฉันรอประมาณ 10 วินาทีเพื่อให้แน่ใจ) จนกว่าจะเสร็จสิ้นอย่างแน่นอน จากนั้นฉันจึงเริ่มใหม่อีกครั้ง
ยินดีต้อนรับ ;) ฉันยินดีที่จะช่วยเหลือหากฉันมีโอกาสที่จะมีส่วนร่วม
Meeb จะเป็นอย่างไร เมื่อฉันเข้าสู่ระบบแชท ICQ หรือ FB ผ่าน Meeb มันจะออกจากระบบโดยอัตโนมัติหลังจากผ่านไป 10 นาที และฉันออฟไลน์หรือทำงานต่อไป ขอบคุณสำหรับคำชี้แจง: P
หลังจากผ่านไปสิบนาที การเชื่อมต่อของแอปพลิเคชันกับอินเทอร์เน็ตจะถูกขัดจังหวะ อย่างไรก็ตาม คุณจะยังคงออนไลน์บนเซิร์ฟเวอร์ Meeba และคุณจะได้รับการแจ้งเตือนแบบพุชหากมีคนเขียนถึงคุณ หลังจากเปิดแอปพลิเคชั่นอีกครั้ง การเชื่อมต่อจะเริ่มต้นขึ้นในอีกสักครู่และคุณสามารถสนทนาต่อได้อย่างมีความสุข
ดังนั้น หากฉันเข้าใจบทความที่คุณเชื่อมโยงอย่างถูกต้อง สถิติจะอ้างอิงถึงการล่มของแอปพลิเคชันเมื่อเริ่มทำงานเท่านั้น ซึ่งเป็นเปอร์เซ็นต์ที่ค่อนข้างน้อยในกรณีที่สามารถเกิดการขัดข้องได้ ดังนั้นจึงเป็นไปไม่ได้ที่จะสรุปจาก "การวิจัย" นี้ว่า iOS มีเสถียรภาพน้อยกว่าในความคิดของฉัน นอกจากนี้ ผู้แปลบทความที่นำมาจาก Forbes ลืมบอกไปว่าบริษัทที่ให้ข้อมูลเกี่ยวกับข้อขัดข้องของแอปพลิเคชันได้รับการสนับสนุนจาก Google (“Crittercism ซึ่งได้รับการสนับสนุนโดย Google Ventures,...”)