คำถามติดแท็ก performance

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

1
มีข้อมูลที่หนักหน่วงในการสำรอง“ สวิตช์งานของมนุษย์ถือว่าเป็นอันตรายหรือไม่”
Joel Spolsky เขียนโพสต์บล็อกชื่อดัง " Human Task Switches ถือว่าเป็นอันตราย " ในขณะที่ฉันเห็นด้วยกับสถานที่และดูเหมือนสามัญสำนึกฉันสงสัยว่ามีการศึกษาหรือเอกสารสีขาวในเรื่องนี้เพื่อคำนวณค่าใช้จ่ายในสวิทช์งานหรือเป็นหลักฐานพอสมควรหรือไม่

3
ทำไมการแสดงการคำนวณในฐานะการคูณเมทริกซ์ทำให้พวกเขาเร็วขึ้น?
ในการสอน MNistของ Google โดยใช้ TensorFlowการคำนวณจะแสดงในขั้นตอนเดียวซึ่งเทียบเท่ากับการคูณเมทริกซ์ด้วยเวกเตอร์ Google แสดงภาพแรกซึ่งการคูณตัวเลขแต่ละตัวและการเพิ่มเติมที่จะนำไปใช้ในการคำนวณจะถูกเขียนออกมาทั้งหมด ถัดไปพวกเขาแสดงรูปภาพที่แสดงแทนการคูณเมทริกซ์โดยอ้างว่าการคำนวณรุ่นนี้หรืออย่างน้อยอาจเร็วกว่า: ถ้าเราเขียนมันออกมาเป็นสมการเราจะได้: เราสามารถ "vectorize" ขั้นตอนนี้โดยเปลี่ยนเป็นการคูณเมทริกซ์และการบวกเวกเตอร์ สิ่งนี้มีประโยชน์สำหรับประสิทธิภาพการคำนวณ (เป็นวิธีคิดที่มีประโยชน์ด้วย) ฉันรู้ว่าสมการนี้มักเขียนในรูปแบบการคูณเมทริกซ์โดยผู้ฝึกการเรียนรู้ของเครื่องจักรและแน่นอนว่าสามารถเห็นข้อดีในการทำเช่นนั้นจากมุมมองของรหัสความบิดเบี้ยวหรือความเข้าใจคณิตศาสตร์ สิ่งที่ฉันไม่เข้าใจคือการกล่าวอ้างของ Google ว่าการแปลงจากแบบยาวเป็นแบบเมทริกซ์"มีประโยชน์สำหรับประสิทธิภาพการคำนวณ" เมื่อใดทำไมและเป็นไปได้อย่างไรที่จะได้รับการปรับปรุงประสิทธิภาพในซอฟต์แวร์โดยแสดงการคำนวณเป็นการคูณเมทริกซ์ ถ้าฉันต้องคำนวณการคูณเมทริกซ์ในภาพที่สอง (อิงเมทริกซ์) ตัวฉันในฐานะมนุษย์ฉันจะทำโดยการคำนวณที่แตกต่างกันตามลำดับที่แสดงในภาพแรก (สเกลาร์) สำหรับฉันแล้วมันไม่ใช่แค่เครื่องหมายสองประการสำหรับลำดับการคำนวณเดียวกัน ทำไมคอมพิวเตอร์ของฉันถึงมีความแตกต่าง? ทำไมคอมพิวเตอร์จะสามารถทำการคำนวณเมทริกซ์ได้เร็วกว่าแบบสเกลาร์

4
ออกแบบฐานข้อมูล - เก็บสถานะหรือคำนวณสถานะทุกครั้งหรือไม่
สมมติว่าฉันมีแอปพลิเคชันฐานข้อมูลเชิงสัมพันธ์และวัตถุ "ผู้ใช้" และวัตถุ "ข้อความ" ตอนนี้ฉันต้องการแสดงจำนวนข้อความที่ยังไม่ได้อ่านแก่ผู้ใช้รายนี้ วิธีที่ดีที่สุดในการเก็บถาวรนี้คืออะไร ฉันจะแนะนำฟิลด์ในผู้ใช้และนับถ้าผู้ใช้ได้รับข้อความและลดจำนวนถ้าเขาอ่านหรือไม่ หรือฉันจะเรียกใช้แบบสอบถามทุกครั้งเพื่อคำนวณจำนวนข้อความสำหรับผู้ใช้ที่ถูกตั้งค่าสถานะว่ายังไม่ได้อ่าน ฉันคิดว่าวิธีแรกนั้นซับซ้อนและมีข้อผิดพลาดมากกว่า แต่จะทำงานได้ดีกว่าวิธีที่สอง ปกติแล้ววิธีนี้ทำได้อย่างไรหรืออะไรคือวิธีการที่ดีกว่า

2
เวลาที่คาดหวังและเวลาเฉลี่ยของอัลกอริทึมหมายถึงอะไร
สมมติว่าเราต้องการวิเคราะห์เวลาทำงานของอัลกอริทึม บางครั้งเราบอกว่าเราต้องการหาเวลาทำงานของอัลกอริทึมเมื่อขนาดอินพุตเป็น n และสำหรับกรณีที่แย่ที่สุดที่เป็นไปได้มันแสดงว่า O (n) บางครั้งฉันเห็นหนังสือ / กระดาษบอกว่าเราต้องหาเวลาที่คาดหวังของอัลกอริทึม นอกจากนี้บางครั้งเวลาทำงานเฉลี่ยจะใช้ "เวลาที่คาดหวัง" คืออะไร ในกรณีใดบ้างที่มีประโยชน์ในการค้นหาเวลาที่คาดหวังแทนเวลาที่เลวร้ายที่สุด? แก้ไข : ฉันคิดว่ามีความแตกต่างเล็กน้อยระหว่างเวลาทำงานที่คาดหวังและเวลาทำงานเฉลี่ยแต่ฉันไม่แน่ใจ ผ่านโพสต์นี้ฉันต้องการทราบความแตกต่างที่แน่นอนถ้ามี

6
สนับสนุนช่วงเวลาที่ทุกคนสามารถลองคิดเพื่อให้ซอฟต์แวร์ทำงานได้เร็วขึ้น?
บางครั้งเทคนิคประสิทธิภาพของซอฟต์แวร์พบได้จากวิธีการและการค้นหาอย่างละเอียด บางครั้งต้องใช้ความคิดที่แตกต่างและความกล้าหาญที่จะลองความคิดที่บ้า บางครั้งความคิดก็เป็นเพียงจุดเริ่มต้นที่ต้องตามด้วยการทำงานหนักมาก จะส่งเสริมช่วงเวลาที่ทุกคนสามารถลองใช้แนวคิดที่แตกต่างกันเพื่อปรับปรุงประสิทธิภาพของซอฟต์แวร์ที่เรากำลังทำอยู่ได้อย่างไร ทุกคนในทีมมีประสบการณ์อย่างน้อยหลายเดือนกับซอฟต์แวร์และทำได้ดีมาก คุณเห็นด้วยหรือไม่ว่าการคิดที่แตกต่างจะช่วยหาวิธีในการปรับปรุงประสิทธิภาพของซอฟต์แวร์ได้หรือไม่? ทำไม? ทำไมจะไม่ล่ะ? เทคนิคใดที่จะช่วยให้เราลองใช้แนวคิดการเพิ่มประสิทธิภาพได้อย่างรวดเร็ว จำเป็นต้องใช้ความเร็วการเข้ารหัสที่รวดเร็วเพื่อให้ได้ผลลัพธ์ที่ดีจากการลองใช้หรือไม่ ในที่สุดควรจัดสรรเวลา "เท่าไหร่" เพื่อให้ได้ผลลัพธ์ที่ดีโดยไม่สร้างความเป็นไปได้ที่จะหยุดพัก การทดลองจำเป็นต้องพิสูจน์ว่ามี "วิธีที่เร็วกว่าในการทำบางสิ่ง" อยู่หรือไม่? (เพิ่ม 2011-06-07) ที่เกี่ยวข้อง: อะไรคือกลยุทธ์ของคุณในการพัฒนาระดับทีมของคุณอย่างฉลาด? การแฮ็กรหัสจะไม่ดีเมื่อใด ( เพื่อความโปรดปรานเท่านั้น -2011/06/07 ขนาดทีมคือ 2-4 นักพัฒนาไม่มี QA เฉพาะรหัสการทดสอบหน่วยและการทดสอบประสิทธิภาพที่ทำโดยนักพัฒนาเนื่องจากลักษณะของโครงการผล profiler จึงมีประโยชน์ในการแสดง เวลาดำเนินการตามสัดส่วนแม้ว่าจะไม่ได้เปิดเผยคอขวดเดียว)

5
ฉันสามารถทำอะไรเพื่อปรับปรุงประสิทธิภาพใน VS 2010 ได้ไหม [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันใช้ VS 2010 เนื่องจากเรากำลังพัฒนาแอพใน. Net 4 และประสิทธิภาพการทำงานทำให้ฉันเป็นบ้า มันแย่มากเมื่อฉันไม่ได้ดู IDE สักพัก (เช่นเมื่อฉันถูกดึงออกไปเพื่อขอความช่วยเหลือหรือโทรเข้ามาตอนเช้า) ฉันรู้ว่ามันอาจจะสร้างขึ้นใน WPF ซึ่งยกเลิกการโหลดทรัพยากรเมื่อไม่ได้ใช้ แต่ความล่าช้าไม่กี่นาทีในขณะที่โหลดทุกอย่างสำรองเป็นสิ่งที่น่ารำคาญจริงๆ ฉันยังสังเกตเห็นความล่าช้าที่สำคัญเมื่อเปิดไฟล์หรือรวบรวม

7
แนวทางปฏิบัติที่ดีที่สุดที่จะตามด้วยดัชนีฐานข้อมูล [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา อะไรคือ DOs และ DONT สำหรับการปรับปรุงประสิทธิภาพของฐานข้อมูลโดยใช้ดัชนี? DO จะเป็นกรณีที่ควรสร้างดัชนีหรือดัชนีอื่นที่เกี่ยวข้องกับเคล็ดลับที่จะปรับปรุงประสิทธิภาพ DONT จะเป็นกรณีที่ไม่ควรสร้างดัชนีหรือดัชนีที่เกี่ยวข้องกับการกระทำที่อาจส่งผลกระทบต่อประสิทธิภาพการทำงาน

7
การเรียกฐานข้อมูล mutliple นั้นสำคัญมากกับการโทรผ่านเครือข่ายสำหรับเว็บ API หรือไม่?
ที่หนึ่งในนายจ้างของฉันเราทำงานกับ REST (แต่ก็ใช้กับ SOAP) API ด้วย ลูกค้าซึ่งเป็น UI ของแอปพลิเคชันจะโทรผ่านเว็บ (LAN ในการปรับใช้การผลิตทั่วไป) ไปยัง API API จะทำการเรียกไปยังฐานข้อมูล ชุดรูปแบบหนึ่งที่เกิดขึ้นในการสนทนาของเราคือประสิทธิภาพ: บางคนในทีมเชื่อว่าคุณไม่ควรมีการเรียกฐานข้อมูลหลายครั้ง (โดยปกติจะอ่าน) จากการเรียก API เดียวเนื่องจากประสิทธิภาพ คุณควรปรับให้เหมาะสมเพื่อให้การเรียก API แต่ละครั้งมีการเรียกฐานข้อมูลเพียงหนึ่งครั้งเท่านั้น แต่นั่นสำคัญจริงๆเหรอ? พิจารณาว่า UI ต้องทำการเรียกเครือข่ายไปยัง API มันค่อนข้างใหญ่ (ลำดับความสำคัญเป็นมิลลิวินาที) ฐานข้อมูลได้รับการปรับให้เหมาะสมเพื่อเก็บสิ่งต่าง ๆ ในหน่วยความจำและดำเนินการอ่านอย่างรวดเร็ว (เช่น SQL Server โหลดและเก็บทุกอย่างไว้ใน RAM และใช้ RAM ฟรีของคุณเกือบทั้งหมดถ้าทำได้) TLDR: เป็นเรื่องสำคัญหรือไม่ที่จะต้องกังวลเกี่ยวกับการโทรฐานข้อมูลหลายครั้งเมื่อเราทำการโทรผ่านเครือข่ายผ่าน LAN หรือไม่? ถ้าเป็นเช่นนั้นทำไม เพื่อความชัดเจนฉันกำลังพูดถึงลำดับความสำคัญ - ฉันรู้ว่าขึ้นอยู่กับข้อมูลเฉพาะ …

4
มีข้อเสียในการใช้ AggressiveInlining ในคุณสมบัติง่าย ๆ ?
ฉันพนันได้เลยว่าฉันจะตอบว่าตัวเองถ้าฉันรู้เพิ่มเติมเกี่ยวกับเครื่องมือในการวิเคราะห์พฤติกรรมของ C # / JIT แต่เนื่องจากฉันไม่ได้โปรดอดทนกับฉันถาม ฉันมีรหัสง่าย ๆ เช่นนี้: private SqlMetaData[] meta; [MethodImpl(MethodImplOptions.AggressiveInlining)] private SqlMetaData[] Meta { get { return this.meta; } } อย่างที่คุณเห็นฉันใส่ AggressiveInlining เพราะฉันรู้สึกว่ามันควรจะถูกแทรก ฉันคิด. ไม่มีการรับประกันว่า JIT จะเป็นแบบอินไลน์ ฉันผิดหรือเปล่า? การทำสิ่งนี้อาจส่งผลกระทบต่อประสิทธิภาพ / ความเสถียร / อะไรหรือไม่?

8
วิธีในการทำลาย“ กลุ่มอาการของโปรแกรมเมอร์ที่สมบูรณ์แบบ” [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันอาจไม่ใช่คนเดียวที่รู้สึกอย่างนั้น แต่ฉันมีสิ่งที่ฉันมักจะเรียกว่า "ซินโดรมของโปรแกรมเมอร์ที่สมบูรณ์แบบ" ซึ่งหลายคนอาจบอกว่าเป็นคนที่ชอบความสมบูรณ์แบบ แต่ในกรณีนี้มันอยู่ในขอบเขตของการเขียนโปรแกรม อย่างไรก็ตามโดเมนของการเขียนโปรแกรมเป็นปัญหาเล็กน้อยสำหรับกลุ่มอาการดังกล่าว คุณเคยรู้สึกบ้างไหมว่าเมื่อคุณเขียนโปรแกรมคุณไม่มั่นใจหรือไม่มั่นใจเลยว่ารหัสของคุณสะอาดและเป็นรหัสที่ดีซึ่งเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดส่วนใหญ่หรือไม่? มีกฎมากมายที่ต้องทำตามที่ฉันรู้สึกว่าถูกจมอย่างใด ไม่ใช่ว่าฉันไม่ชอบทำตามกฎของหลักสูตรฉันเป็นโปรแกรมเมอร์และฉันรักการเขียนโปรแกรมฉันเห็นว่านี่เป็นศิลปะและฉันต้องปฏิบัติตามกฎ แต่ฉันก็ชอบมันเหมือนกันฉันหมายความว่าฉันต้องการและฉันก็ชอบที่จะปฏิบัติตามกฎเพื่อให้ได้ความรู้สึกที่ดีในสิ่งที่ฉันกำลังทำไปในทางที่ถูกต้อง .. แต่ฉันหวังว่าฉันจะมีทุกสิ่งใน "การควบคุม" เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดและรหัสที่ดี อาจจะเป็นการขาดองค์กรหรือไม่ อาจจะเป็นการขาดประสบการณ์หรือไม่? บางทีการขาดการฝึกฝน? บางทีมันอาจจะขาดอะไรอย่างอื่นที่ใครบางคนชี้ มีวิธีใดที่จะกำจัดกลุ่มอาการนี้ได้บ้าง?

2
อะไรทำให้ผลิตภัณฑ์ซอฟต์แวร์ที่มีขนาดใหญ่และซับซ้อนช้า [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ด้วยเหตุผลที่ไม่เกี่ยวข้องส่วนใหญ่ฉันติดตั้ง Delphi 7 อีกครั้งในเวลานาน ฉันต้องบอกว่าฉันปลิวไปหมดแล้ว - ในแบบที่ฉันไม่เคยทำมานานแล้ว นี่ไม่ใช่วิธีที่ฉันจำสิ่งต่าง ๆ ได้เลย การติดตั้งใช้เวลาประมาณ 30 วินาที การเปิดตัวใช้เวลา 2 วินาทีและสามารถใช้งานได้ทันที ฉันสามารถกด "เรียกใช้" ครั้งที่สองหลังจากที่เริ่มต้นและน้อยกว่าหนึ่งวินาทีหลังจากนั้นโปรแกรมว่างจะปรากฏขึ้นและทำงานอยู่ Hurray สำหรับคอมพิวเตอร์เริ่มเร็วขึ้นมาก! แต่เหตุผลที่ฉันถูกปลิวไปอย่างนี้ก็เพราะว่าฉันมักจะใช้ Visual Studio 2010 ซึ่งก็ไม่ทำให้รู้สึกแย่แบบนี้เลย จริงอยู่ที่ Delphi 7 เป็นระบบที่เล็กกว่า Visual Studio 2010 มาก แต่มันมีลักษณะของการมีสิ่งที่จำเป็นจริงๆที่นั่น: palette control, design form, ตัวแก้ไขโค้ดพร้อมโค้ดที่สมบูรณ์ ฉันรู้ว่าภาษาอาจจะง่ายกว่าและการทำให้โค้ดสมบูรณ์อาจมีประสิทธิภาพน้อยกว่าและ IDE อาจจะไม่สามารถขยายได้และมีคุณสมบัติที่หลากหลาย …

8
เมื่อไหร่ที่ฉันควรใส่ใจเกี่ยวกับการแสดง?
เป็นเวลานานที่สุดในสถานที่ต่าง ๆ เช่นช่องทาง IRC ของ Java , SO และสถานที่อื่น ๆ ที่ฉันได้รับการบอกเล่าบางอย่างตามแนวของ "กังวลเกี่ยวกับลักษณะของโค้ดและการอ่าน / การทำความเข้าใจในตอนนี้และประสิทธิภาพในภายหลัง ดังนั้นเป็นเวลานานที่สุดที่ฉันไม่ได้เป็น OCD เกี่ยวกับประสิทธิภาพการทำงานสำหรับเดสก์ท็อปขนาดเล็กหรือเว็บแอปของฉันเพียงแค่ลบสิ่งที่ไม่มีประสิทธิภาพออกไปอย่างเห็นได้ชัด คำตอบส่วนใหญ่คือ "แล้วความสามารถในการปรับขยายได้?" นั่นเป็นจุดที่ถูกต้อง แต่ถ้าแอพของฉันถูกสร้างขึ้นเพื่อแยกวิเคราะห์พูดยาว 10,000 บรรทัดไฟล์ฉันควรทำให้โค้ดของฉันยุ่งเหยิงสำหรับคนส่วนน้อยที่กำลังจะผลักไฟล์ 1,000,000 บรรทัดหรือไม่ คำถามหลักของฉันคือเมื่อใดที่ฉันควรแลกเปลี่ยนวิธีที่ง่าย แต่ไม่มีประสิทธิภาพในการทำงานกับสัตว์ยักษ์ที่ซับซ้อนขนาดใหญ่ที่ทำสิ่งต่าง ๆ อย่างรวดเร็ว แต่ทำลายวิธีที่เป็นไปได้ในการอัพเกรดและทำให้รหัสยากเกินไป

22
คุณควรเริ่มคิดถึงการแสดง ณ จุดใด
ขณะที่ฉันกำลังสร้างแอปพลิเคชันฉันพบว่าตัวเองถามอยู่ตลอดเวลาว่านี่เป็นวิธีที่ดีที่สุดในการดำเนินการหรือใช้งานฟังก์ชั่นบางอย่าง บ่อยครั้งที่ฉันจะโพสต์คำถามใน stackoverflow หรือฟอรัมอื่นที่ต้องการความคิดเห็นเฉพาะเพื่อรับความคิดเห็นเกี่ยวกับวิธีที่จะไม่ "นำรถเข็นมาก่อนม้า" เกี่ยวกับประสิทธิภาพ โปรแกรมเมอร์ส่วนใหญ่ไม่คิดเกี่ยวกับประสิทธิภาพจนกว่าแอปพลิเคชันจะเสร็จสิ้นหรือประสิทธิภาพไม่เป็นที่ยอมรับอย่างแน่นอนหรือไม่? ฉันหมายถึงฉันเข้าใจว่าสภาพแวดล้อมการพัฒนาแตกต่างจากสภาพแวดล้อมการผลิตและคุณไม่ควรพึ่งพาผลลัพธ์จากแล็ปท็อป dev ของคุณอย่างสมบูรณ์ ... แต่มีวิธีปฏิบัติและเทคนิคที่ให้ประสิทธิภาพที่ดีกว่าคนอื่น ๆ การปฏิบัติที่ไม่ถูกต้องในการพิจารณาประสิทธิภาพตลอดกระบวนการพัฒนาหรือไม่ ฉันควรผลักดันข้อควรพิจารณาเหล่านี้ออกไปจนกว่าการปฏิบัติจริงจะเป็นแท็งก์น้ำหรือไม่? ปรับปรุง เพื่อความชัดเจนฉันกำลังพูดถึงสถานการณ์ที่คุณกำลังพิจารณาหรือกำลังจะทำงานกับฟังก์ชั่นบางอย่าง คุณรู้ว่ามีหลายวิธีในการปรับใช้ แต่คุณไม่แน่ใจว่าการปรับใช้แต่ละอย่างจะดีขึ้นอย่างไร อาจมีหลายเทคนิคที่คุณไม่คุ้นเคยด้วยซ้ำ ในระดับเล็ก ๆ วิธีการใด ๆ ที่อาจจะเพียงพอ แต่ในระดับขนาดใหญ่บางคนจะติดตามและบางคนจะไม่ บ่อยครั้งที่ฉันถามความคิดเห็นหรือคำแนะนำการตอบสนองคือ: กังวลกับมันในภายหลัง ...

3
เหตุใดจึงใช้ Android Fragments
ฉันได้อ่านเอกสารประกอบและหัวข้อคำถามอื่น ๆเกี่ยวกับหัวข้อนี้และฉันไม่รู้สึกมั่นใจจริงๆ ฉันไม่เห็นข้อ จำกัด ของการใช้เทคนิคนี้อย่างชัดเจน เศษจะเห็นในขณะนี้เป็นวิธีที่ดีที่สุด ; ทุกกิจกรรมควรเป็นส่วนสนับสนุนอย่างน้อยหนึ่งแฟรกเมนต์และไม่เรียกเลย์เอาต์โดยตรง แฟรกเมนต์ถูกสร้างขึ้นเพื่อ: อนุญาตให้Activityใช้ชิ้นส่วนจำนวนมากเปลี่ยนระหว่างหน่วยเหล่านี้เพื่อนำหน่วยเหล่านี้กลับมาใช้ใหม่ ... ==> Fragmentทั้งหมดขึ้นอยู่กับContextกิจกรรมดังนั้นหากฉันต้องการสิ่งทั่วไปที่ฉันสามารถนำมาใช้ใหม่และจัดการกับกิจกรรมมากมายฉันสามารถ สร้างเลย์เอาต์ที่กำหนดเองของตัวเองหรือมุมมอง ... ฉันจะไม่สนใจเกี่ยวกับเลเยอร์การพัฒนาความซับซ้อนเพิ่มเติมที่ชิ้นส่วนจะเพิ่ม การจัดการความละเอียดที่แตกต่างกันดีกว่า ==> ตกลงสำหรับแท็บเล็ต / โทรศัพท์ในกรณีที่กระบวนการที่ยาวนานซึ่งเราสามารถแสดงสองชิ้น (หรือมากกว่า) ในกิจกรรมเดียวกันในแท็บเล็ตและหนึ่งต่อหนึ่งในโทรศัพท์ แต่ทำไมฉันถึงต้องใช้แฟรกเมนต์เสมอ ? การจัดการการเรียกกลับเพื่อนำทางระหว่าง Fragments (เช่น: หากผู้ใช้เข้าสู่ระบบฉันจะแสดงส่วนอื่นฉันแสดงส่วนอื่น) ===> เพียงแค่ลองดูว่ามีข้อบกพร่องมากมายในการลงชื่อเข้าใช้ SDK ของ Facebook เพราะเหตุนี้เพื่อให้เข้าใจว่าเป็นจริง (?) ... การพิจารณาว่าแอปพลิเคชัน Android นั้นยึดตามกิจกรรม ... การเพิ่มวงจรชีวิตอีกอันในกิจกรรมจะดีกว่าในการออกแบบแอปพลิเคชัน ... ฉันหมายถึงโมดูลสถานการณ์การจัดการข้อมูลและการเชื่อมต่อจะได้รับการออกแบบที่ดีขึ้น ทาง ===> นี่คือคำตอบของใครบางคนที่เคยเห็น Android SDK และ …

3
มันเป็นการดีที่จะกำหนดตัวแปรภายในวงหรือไม่? [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ผู้สอนของฉันเคยบอกฉันว่าฉันไม่ควรกำหนดตัวแปรภายในลูปแต่ฉันก็ยังคงไม่เข้าใจว่าทำไม อะไรคือข้อเสียของสิ่งนั้น? มีร่างกายใดสามารถอธิบายสิ่งนั้นให้ฉันได้บ้าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.