คำถามติดแท็ก weak-references


6
ส่งการอ้างอิงตนเองที่อ่อนแอไปยังบล็อกใน ARC เสมอหรือไม่
ฉันสับสนเล็กน้อยเกี่ยวกับการใช้งานบล็อกใน Objective-C ปัจจุบันฉันใช้ ARC และมีบล็อกจำนวนมากในแอปของฉันในปัจจุบันอ้างอิงถึงเสมอselfแทนที่จะเป็นข้อมูลอ้างอิงที่อ่อนแอ นั่นอาจเป็นสาเหตุของบล็อกเหล่านี้ในการรักษาselfและป้องกันไม่ให้ถูกจัดสรรคืน? คำถามคือฉันควรใช้การweakอ้างอิงselfในบล็อกหรือไม่ -(void)handleNewerData:(NSArray *)arr { ProcessOperation *operation = [[ProcessOperation alloc] initWithDataToProcess:arr completion:^(NSMutableArray *rows) { dispatch_async(dispatch_get_main_queue(), ^{ [self updateFeed:arr rows:rows]; }); }]; [dataProcessQueue addOperation:operation]; } ProcessOperation.h @interface ProcessOperation : NSOperation { NSMutableArray *dataArr; NSMutableArray *rowHeightsArr; void (^callback)(NSMutableArray *rows); } ProcessOperation.m -(id)initWithDataToProcess:(NSArray *)data completion:(void (^)(NSMutableArray *rows))cb{ if(self …

7
อะไรคือความแตกต่างระหว่างการอ้างอิงที่อ่อนแอและการอ้างอิงที่ไม่มีเจ้าของ
สวิฟท์มี: การอ้างอิงที่แข็งแกร่ง ข้อมูลอ้างอิงที่อ่อนแอ การอ้างอิงที่ไม่เป็นเจ้าของ การอ้างอิงที่ไม่มีเจ้าของแตกต่างจากการอ้างอิงที่อ่อนแออย่างไร เมื่อใดจึงจะปลอดภัยที่จะใช้การอ้างอิงที่ไม่ได้เป็นเจ้าของ การอ้างอิงที่ไม่มีเจ้าของความเสี่ยงด้านความปลอดภัยเช่นตัวชี้ห้อยใน C / C ++?

18
ฉันจะประกาศการอ้างอิงที่อ่อนแอใน Swift ได้อย่างไร
ฉันต้องการจัดเก็บเอกสารอ้างอิงอ่อน ๆ ใน Swift อาร์เรย์ไม่ควรเป็นข้อมูลอ้างอิงที่อ่อนแอ - องค์ประกอบควรเป็น ฉันคิดว่า Cocoa NSPointerArrayนำเสนอรุ่นที่ไม่ปลอดภัยสำหรับประเภทนี้

7
Java: ความแตกต่างระหว่างการอ้างอิง strong / soft / weak / phantom
ฉันได้อ่านบทความนี้เกี่ยวกับหัวข้อ แต่ฉันไม่เข้าใจจริงๆ โปรดให้คำแนะนำพร้อมตัวอย่างเมื่ออธิบายแนวคิด

4
วิธีใช้ WeakReference ในการพัฒนา Java และ Android
ฉันเป็นนักพัฒนา java มา 2 ปีแล้ว แต่ฉันไม่เคยเขียน WeakReference ในรหัสของฉัน วิธีใช้ WeakReference เพื่อทำให้แอปพลิเคชันของฉันมีประสิทธิภาพมากขึ้นโดยเฉพาะแอปพลิเคชัน Android

10
เมื่อใดที่คุณจะใช้ WeakHashMap หรือ WeakReference
การใช้การอ้างอิงที่อ่อนแอเป็นสิ่งที่ฉันไม่เคยเห็นมาก่อนในการนำมาใช้ดังนั้นฉันจึงพยายามหาว่ากรณีการใช้งานสำหรับพวกเขาคืออะไรและการนำไปใช้งานอย่างไร คุณจำเป็นต้องใช้ a WeakHashMapหรือเมื่อใดWeakReferenceและมีการนำมาใช้อย่างไร

9
เป็นไปได้ไหมที่จะสร้าง "การอ้างอิงที่ไม่เหมาะสม" ในจาวาสคริปต์
มีวิธีใดบ้างในจาวาสคริปต์ในการสร้าง "การอ้างอิงที่อ่อนแอ" ไปยังวัตถุอื่น นี่คือหน้าวิกิที่อธิบายว่าการอ้างอิงที่ไม่เหมาะสมคืออะไร นี่คือบทความอื่นที่อธิบายถึงสิ่งเหล่านี้ใน Java ใครสามารถคิดวิธีการนำพฤติกรรมนี้ไปใช้ในจาวาสคริปต์ได้หรือไม่?

2
OutOfMemoryException แม้จะใช้ WeakHashMap
หากไม่โทรSystem.gc()ระบบจะส่ง OutOfMemoryException ฉันไม่รู้ว่าทำไมฉันต้องโทรหาSystem.gc()อย่างชัดเจน JVM ควรเรียกgc()ตัวเองใช่ไหม กรุณาแนะนำ ต่อไปนี้เป็นรหัสทดสอบของฉัน: public static void main(String[] args) throws InterruptedException { WeakHashMap<String, int[]> hm = new WeakHashMap<>(); int i = 0; while(true) { Thread.sleep(1000); i++; String key = new String(new Integer(i).toString()); System.out.println(String.format("add new element %d", i)); hm.put(key, new int[1024 * 10000]); key = null; //System.gc(); } …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.