AFNetworking Error Domain= NSPOSIXErrorDomain Code= 12 "تعذر إكمال العملية. لا يمكن تخصيص الذاكرة
-
28-10-2019 - |
سؤال
أرسل الكثير من ملفات الصور عبر AfNetworking إلى خادم Rails.على الحافة وأحيانًا الجيل الثالث أحصل على هذا الخطأ: خطأ المجال= NSPOSIXErrorDomain Code= 12 "تعذر إكمال العملية. لا يمكن تخصيص الذاكرة".
هذا هو الكود الذي أستخدمه لإرسال الملفات: https://gist.github.com/cc5482059ae3023bdf50
هل هناك طريقة لإصلاح ذلك؟
يقترح بعض الأشخاص عبر الإنترنت أن الحل البديل هو دفق الملفات.لم أتمكن من العثور على برنامج تعليمي حول دفق ملفات متعددة باستخدام AFNetworking.كيف أفعل هذا؟
المحلول
ما هو حجم الصور؟وكم تريد إرساله؟
لا يمكنني العثور على طريقة سهلة لتنفيذ رمز الترميز العام باستخدام رمز الترقيم العام ، ولكن هناك بالتأكيد شيء واحد يجب أن تجربه ، وهو تجنب وضع الأشياء الكبيرة في مجموعة التحرير التلقائي.عندما تقوم بإنشاء مثيلات كبيرة من NSData في حلقة for ، وتلك التي ستنتقل إلى مجموعة الإصدار التلقائي ، تظل كل تلك الذاكرة موجودة طالما استمرت الحلقة.هذه طريقة واحدة لتحسينه: Genacodicetagpre
أو إذا كنت تستخدم LLVM3:
Genacodicetagpreنصائح أخرى
أعلم أنه قد مضى وقت طويل منذ أن تم طرح هذا السؤال ولكن لا بد لي من إعطاء سنتي في هذا الشأن.
بعد قضاء الجزء الأفضل من الأسبوع في محاولة اكتشاف هذه الأشياء ، ها أنا الآن:
- تحدث هذه المشكلة لي على جهاز iPhone 4 قديم يعمل بنظام iOS 5.1.1
- لا يمكن إعادة إنتاجه على iPhone 4S الذي يعمل بنظام iOS 5.1.1 نفسه
قد يكون ذلك بسبب خلل في الشبكة بواسطة جهاز الهاتف نفسه أو قد يكون بسبب الحاجة إلى خنق النطاق الترددي (أو مجرد خطأ في NSURLConnection):
http://aws.amazon.com/articles/0006282245644577
https://forums.dropbox.com/topic.php؟id=25351
خطأ POSIX 12 (" لا يمكن تخصيص الذاكرة ") أثناء تحميل الملفات من iPhone
كنت سأنتقل إلى ASIHTTPRequest ولكن لم يعد يتم الاحتفاظ به ، لذا فهو الآن يستحق التنفيذ. ربما لا يزال يتعين علي تجربة AFNetworking ، لكنني بدأت حقًا أعتقد أن هذه مشكلة تم إصلاحها في نظام التشغيل iOS بالفعل (أو قد تكون جهاز iPhone رديئًا في حالتي).
لكن لا يمكنني العثور على تفسير بسيط لهذا طوال حياتي.