ป้องกันไม่ให้แอปพื้นที่ทำงานรีสตาร์ทในแอป Power Apps สำหรับอุปกรณ์เคลื่อนที่
เมื่อคุณเรียกใช้แอปพื้นที่ทำงานบนแอป Power Apps บนมือถือ แอปอาจมีการรีสตาร์ทได้ด้วยเหตุผลต่อไปนี้:
- แอปใช้หน่วยความจำรวมมากเกินไป
- แอปใช้หน่วยความจำหรือประมวลผลมากเกินไปในคราวเดียว
- แอปจะถูกย้ายไปยังพื้นหลัง – เมื่อแอปเฉพาะของคุณใช้การควบคุมแบบเนทีฟ (เช่น เพิ่มรูปภาพ หรือ เครื่องสแกนบาร์โค้ด) หรือแอป Power Apps บนมือถือถูกวางไว้ในพื้นหลังโดยผู้ใช้
ข้อจำกัดของหน่วยความจำและการประมวลผล ซึ่งเข้มงวดเป็นพิเศษเมื่อแอป Power Apps บนมือถือทำงานในแบบเบื้องหลัง ถูกกำหนดโดยระบบปฏิบัติการ (Android หรือ iOS) หากแอปใช้ทรัพยากรมากกว่าที่มีในอุปกรณ์ของคุณ แอปจะรีเซ็ต ซึ่งคล้ายกับเมื่อคุณเยี่ยมชมเว็บเพจขนาดใหญ่ที่ซับซ้อน เว็บเบราว์เซอร์ระงับเพจหากใช้พลังงานมากเกินไป
ในอุปกรณ์ Android การรีสตาร์ทแอปนี้อาจดูเหมือนหยุดทำงาน เนื่องจากแอปปิดสนิทและผู้ใช้จะถูกนำไปที่หน้าจอหลักของอุปกรณ์
ใช้บทความนี้เพื่อเรียนรู้วิธีการป้องกันแอปพื้นที่ทำงานรีสตาร์ทบน Power Apps บนมือถือ
เคล็ดลับการป้องกันสำหรับผู้ใช้ปลายทาง
แม้ว่าการปรับปรุงครั้งใหญ่ที่สุดจะทำโดยผู้สร้างแอป แต่นี่คือเคล็ดลับบางประการที่ผู้ใช้สามารถใช้เพื่อลดการรีสตาร์ทแอปได้:
- ในแอป Power Apps บนมือถือ ในหน้าโปรไฟล์ผู้ใช้ เลือก ล้างแคช เพื่อลบข้อมูลที่บันทึกไว้ โปรดทราบว่าการดำเนินการนี้ควรทำเมื่อผู้ใช้ปลายทางมีข้อมูลเท่านั้น เนื่องจากการล้างแคชจะเป็นการลบ SaveData หรือแคชของแอป
- ในอุปกรณ์ Android ตรวจสอบให้แน่ใจว่าแอป Power Apps บนอุปกรณ์เคลื่อนที่ได้รับการจัดลำดับความสำคัญ โปรดดูคู่มืออุปกรณ์เพื่อให้แอปทำงานผ่านการตั้งค่าต่างๆ เช่น การเพิ่มประสิทธิภาพแบตเตอรี่และการกำหนดค่าโหมดสลีปของแอป
- ปิดแอปที่กำลังทำงานอยู่ ยกเว้นแอป Power Apps บนมือถือ และลบข้อมูลที่ไม่จำเป็นออกจากอุปกรณ์ เช่น แอปหรือรูปภาพที่ไม่ได้ใช้
- แม้ว่าจะยุ่งยาก แต่ลองใช้แอปให้ช้าลง - หยุดชั่วคราวเล็กน้อยระหว่างการนำทางในหน้าจอหรือหลังจากถ่ายภาพหรือบันทึกหรือโหลดข้อมูล
เคล็ดลับการป้องกันสำหรับผู้สร้างแอป
ผู้สร้างแอปสามารถปรับปรุงหน่วยความจำเพื่อลดการรีสตาร์ทแอปได้มากที่สุด เมื่อสร้างแอป อย่าลืมเพิ่มประสิทธิภาพแอปให้ทำงานบนอุปกรณ์ที่มีข้อมูลจำเพาะต่ำสุดที่ผู้ใช้ปลายทางของคุณจะใช้ และทำตามแนวทางปฏิบัติเกี่ยวกับการใช้งานทรัพยากร
หมายเหตุ
เนื่องจากการรีสตาร์ทแอปเกิดจากระบบปฏิบัติการจำกัดจำนวนหน่วยความจำและการประมวลผลที่แอปสามารถทำได้ จึงอาจต้องใช้วิธีการบรรเทาที่แนะนำด้านล่างร่วมกันเพื่อลดการรีสตาร์ทแอปให้เหลือน้อยที่สุด ยิ่งลดหน่วยความจำและการประมวลผลได้มากเท่าใด ทั้งโดยรวมและในคราวเดียว โอกาสที่แอปจะรีสตาร์ทก็จะยิ่งน้อยลงเท่านั้น
เคล็ดลับ
คุณสามารถ เชื่อมต่อเซสชันแอปบนมือถือกับตัวตรวจสอบ เพื่อดูว่าแอปของคุณกำลังประมวลผลหนักหรือใช้หน่วยความจำมากในจุดใด ตัวตรวจสอบเป็นเครื่องมือที่ให้ผู้สร้างเห็นภาพในเชิงลึกว่าแอปทำอะไรและทำงานอย่างไร โดยบันทึกกิจกรรมหลักทั้งหมดที่เกิดขึ้นในแอปขณะทำงาน
ปัญหา | สาเหตุหลัก | การแก้ไข |
---|---|---|
แอปรีสตาร์ทเมื่อโหลดหน้าจอใดหน้าจอหนึ่ง | หากหน้าจอใดหน้าจอหนึ่งเรียกใช้สูตรมากเกินไปในคราวเดียว แอปอาจมีการประมวลผลมากเกินไปและระบบปฏิบัติการจะรีสตาร์ท | จำกัดจำนวนตัวควบคุมบนหน้าจอและจำนวนสูตรที่กำลังทำงานเมื่อโหลดหน้าจอ ซึ่งอาจต้องมีการแยกหน้าจอ หลีกเลี่ยงการขึ้นต่อกันของตัวควบคุมระหว่างหน้าจอ ป้องกันไม่ให้ผู้ใช้ดำเนินการในช่วงเวลาที่มีการประมวลผลสูง ตัวอย่างเช่น เมื่อกำลังโหลดแกลเลอรีขนาดใหญ่ที่มีตัวกรองและการค้นหาหลายรายการ พิจารณาใช้สูตรที่มีชื่อ ลองใช้การตั้งค่าแอป หน่วงเวลาโหลด |
แอปรีสตาร์ทหลังจากการนำทางในหลายหน้าจอ | มีการรั่วไหลของหน่วยความจำเกิดขึ้นบนหน้าจอ ส่งผลให้มีการใช้หน่วยความจำเพิ่มขึ้นเมื่อผู้ใช้ไปยังส่วนต่างๆ ของแอป | เปิดการตั้งค่าแอป เก็บหน้าจอที่เยี่ยมชมล่าสุดในหน่วยความจำ แม้ว่าการดำเนินการนี้จะเพิ่มการใช้หน่วยความจำทั้งหมดในระยะสั้นเนื่องจากหน้าจอยังคงอยู่ในหน่วยความจำ แต่การนำทางในหลายหน้าจอจะช่วยป้องกันการรั่วไหลของหน่วยความจำ |
แอปรีสตาร์ทเมื่อดำเนินการ SaveData/LoadData หรือใช้การเชื่อมต่อข้อมูล | SaveData และการเชื่อมต่อข้อมูลจะเพิ่มหน่วยความจำทั้งหมดที่แอปใช้ SaveData ยังเป็นการดำเนินการที่มีการประมวลผลสูง การนำข้อมูลจำนวนมากเข้ามาในแอปและบันทึกข้อมูลนั้นสำหรับการใช้งานแบบออฟไลน์ (โดยเฉพาะเนื้อหาสื่อและไฟล์) อาจทำให้แอปทำงานเกินหน่วยความจำที่จัดสรร ทำให้ระบบปฏิบัติการรีสตาร์ทแอป | เพิ่มประสิทธิภาพปริมาณข้อมูลที่นำเข้าแอปผ่านการเชื่อมต่อข้อมูลและบันทึกผ่าน SaveData ลดจำนวนการเรียก SaveData หากทำได้ เปิดการตั้งค่าแอป การเลือกคอลัมน์ที่ชัดเจน และการปิดการตั้งค่าแอป บันทึกขอบเขตความสัมพันธ์แบบหนึ่งต่อกลุ่มและกลุ่มต่อกลุ่ม ยังช่วยลดการนำข้อมูลเข้าสู่แอปได้ด้วย |
แอปรีสตาร์ทเมื่อใช้ตัวควบคุม กล้อง | ตัวควบคุม กล้อง บันทึกภาพที่ถ่ายลงในหน่วยความจำ ซึ่งจะเพิ่มการใช้งานหน่วยความจำของแอป โดยเฉพาะอย่างยิ่งหากภาพบันทึกไว้ตัวแปรหรือ SaveData โดยใช้คุณสมบัติ OnStream | อย่าบันทึกภาพใดๆ นอกเหนือจากภาพที่ถ่ายล่าสุด ใช้ ภาพถ่าย แทน สตรีม เพื่อบันทึกภาพเมื่อผู้ใช้แตะที่กล้องเท่านั้น หากคุณต้องการใช้ สตรีม ให้ตั้งค่าคุณสมบัติStreamRate เป็นสูงที่สุดเพื่อลดจำนวนการอัปเดต |
แอปรีสตาร์ทเมื่อใช้ตัวควบคุม เพิ่มรูปภาพ | ตัวควบคุม เพิ่มรูปภาพ จะบันทึกเนื้อหาสื่อที่เลือกลงในหน่วยความจำ เนื่องจากขนาดของเนื้อหาสื่ออาจส่งผลให้เกิดแรงกดดันต่อหน่วยความจำอย่างมาก | พิจารณาเปลี่ยนตำแหน่งที่บันทึกเนื้อหาสื่อ ลองปิดคุณสมบัติ UseMobileCamera เพื่อให้ผู้ใช้เลือกได้เฉพาะสื่อจากแกลเลอรี/ไลบรารีรูปภาพ ลองใช้ตัวควบคุม สิ่งที่แนบ (เป็นส่วนหนึ่งของฟอร์ม) เพื่อเลือกเฉพาะไฟล์แทนการบันทึกภาพโดยใช้กล้อง ลองเปลี่ยนไปใช้ตัวควบคุม กล้อง |
แอปรีสตาร์ทเมื่อใช้ตัวควบคุมแบบเนทีฟ เช่น เพิ่มรูปภาพ, เครื่องสแกน/เครื่องอ่านบาร์โค้ด, ดูใน MR, กล้องวัด และอื่นๆ | ตัวควบคุมแบบเนทีฟสามารถวางแอปไว้ในพื้นหลังซึ่งระบบปฏิบัติการมีข้อจำกัดที่เข้มงวดกว่าในหน่วยความจำก่อนที่จะรีสตาร์ทแอป | ตรวจสอบให้แน่ใจว่าหน่วยความจำและการดำเนินการอย่างเข้มงวดทั้งหมดเสร็จสิ้นก่อนที่จะใช้ตัวควบคุมเหล่านี้ ตัวอย่างเช่น ปิดใช้งานตัวควบคุม เพิ่มรูปภาพ จนกว่าการดำเนินการ SaveData ใดๆ จะเสร็จสิ้น ลองเปลี่ยนไปใช้ตัวควบคุมอื่น เช่น กล้อง แทน เพิ่มรูปภาพ |
แอปรีสตาร์ทเกิดขึ้นกับอุปกรณ์บางส่วน | อุปกรณ์มีจำนวนหน่วยความจำและการประมวลผลที่แตกต่างกัน ตัวอย่างเช่น อุปกรณ์รุ่นเก่ามีแนวโน้มที่จะรีสตาร์ทแอปเนื่องจากการประมวลผลที่มีอยู่ต่ำกว่า การเปิดใช้แอปอื่นๆ ยังสามารถลดปริมาณการประมวลผลที่มีอยู่ได้อีกด้วย ในทำนองเดียวกัน แอปอื่นๆ ที่ติดตั้งและภาพถ่าย/สื่อจำนวนมากที่บันทึกไว้ในอุปกรณ์อาจใช้หน่วยความจำ ทำให้พื้นที่ว่างสำหรับแอปลดลง |
แนะนำให้ผู้ใช้ของคุณดูเคล็ดลับที่ระบุไว้ด้านบนในส่วน เคล็ดลับการป้องกันสำหรับผู้ใช้ปลายทาง ของเรา พิจารณาลงทุนในอุปกรณ์ที่ตอบสนองความต้องการด้านประสิทธิภาพของแอปของคุณ |
การรีสตาร์ทแอปยังคงเกิดขึ้น | การใช้หน่วยความจำได้รับผลกระทบจากวิธีการเขียนแอปพื้นที่ทำงาน ตรวจสอบให้แน่ใจว่าแอปของคุณเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดที่สามารถช่วยรับประกันประสิทธิภาพ ลดการใช้หน่วยความจำ และการประมวลผล | เพิ่มประสิทธิภาพแอปของคุณตาม แนวทางปฏิบัติที่ดีที่สุด ด้านล่าง |
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างแอปที่มีประสิทธิภาพ
- สร้างแอปขนาดใหญ่และซับซ้อน
- ปัญหาและวิธีแก้ไขประสิทธิภาพการทำงานของแอปพื้นที่ทำงานทั่วไป
- เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุดในการปรับปรุงประสิทธิภาพของแอปพื้นที่ทำงาน
- มาตรฐานและแนวทางการโค้ดของแอปพื้นที่ทำงาน Power Apps
- เอกสารมาตรฐานและแนวทางการโค้ดของแอปพื้นที่ทำงาน Power Apps (อย่าลืมตรวจสอบส่วนที่ชื่อ เพิ่มประสิทธิภาพเพื่อประสิทธิภาพ)