Share via


ป้องกันไม่ให้แอปพื้นที่ทำงานรีสตาร์ทในแอป 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 ใดๆ จะเสร็จสิ้น

ลองเปลี่ยนไปใช้ตัวควบคุมอื่น เช่น กล้อง แทน เพิ่มรูปภาพ
แอปรีสตาร์ทเกิดขึ้นกับอุปกรณ์บางส่วน อุปกรณ์มีจำนวนหน่วยความจำและการประมวลผลที่แตกต่างกัน ตัวอย่างเช่น อุปกรณ์รุ่นเก่ามีแนวโน้มที่จะรีสตาร์ทแอปเนื่องจากการประมวลผลที่มีอยู่ต่ำกว่า

การเปิดใช้แอปอื่นๆ ยังสามารถลดปริมาณการประมวลผลที่มีอยู่ได้อีกด้วย ในทำนองเดียวกัน แอปอื่นๆ ที่ติดตั้งและภาพถ่าย/สื่อจำนวนมากที่บันทึกไว้ในอุปกรณ์อาจใช้หน่วยความจำ ทำให้พื้นที่ว่างสำหรับแอปลดลง
แนะนำให้ผู้ใช้ของคุณดูเคล็ดลับที่ระบุไว้ด้านบนในส่วน เคล็ดลับการป้องกันสำหรับผู้ใช้ปลายทาง ของเรา

พิจารณาลงทุนในอุปกรณ์ที่ตอบสนองความต้องการด้านประสิทธิภาพของแอปของคุณ
การรีสตาร์ทแอปยังคงเกิดขึ้น การใช้หน่วยความจำได้รับผลกระทบจากวิธีการเขียนแอปพื้นที่ทำงาน ตรวจสอบให้แน่ใจว่าแอปของคุณเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดที่สามารถช่วยรับประกันประสิทธิภาพ ลดการใช้หน่วยความจำ และการประมวลผล เพิ่มประสิทธิภาพแอปของคุณตาม แนวทางปฏิบัติที่ดีที่สุด ด้านล่าง

แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างแอปที่มีประสิทธิภาพ