سؤال

وبلدي التطبيق تعطل بعد حوالي 20 دقيقة مع وضع 101 (نفاد الذاكرة، أعتقد)

والتصحيح باستخدام أدوات - ObjectAlloc والتسريبات يعطيني أي أدلة. يبقى الرسم البياني ObjectAlloc على مستوى ثابت لطيفة من حوالي 1 مليون بايت (1MB)، وكذلك صافي # المخصصات. لقد تخلصوا من كل التسريبات.

واعتقدت أنها يمكن أن تكون أن تفعل شيئا مع عدد من المواضيع، ولكن الرسوم البيانية هذه في ObjectAlloc تبين لهم أيضا أن يكون ثابتا.

ويمكن لأي شخص لي نقطة في اتجاه أداة أخرى، أو وسيلة أخرى من التحقيق؟

هل كانت مفيدة؟

المحلول

وإصلاح كل ما يجد رنة. LLVM رنة ثابت تحليل

نصائح أخرى

وتذكر أن الأشياء التي خصصها النظام (وهذا يشمل أشياء مثل الصور والأصوات) لا يحصلون على تعقبها في الصكوك (على الرغم من أن المستوى الأعلى تحتفظ تهم القيام به، بالطبع). لذلك فمن feasable أنك تحميل الصور، ويقول، والتي لن يساهم كثيرا في استخدام الذاكرة الخاصة بك كما تظهر، ولكن يمكن أن تستنزف الكثير من الذاكرة الفعلية!

وإذا كان أي من هذه الضربات أي الحبال، قد تتمكن من محاولة نهج التصحيح مطروح - (أخذ نسخة من المشروع الخاص بك) قطع أجزاء من وظائف حتى يتم حل المشكلة بعيدا أو تحصل على أصغر شيء من الممكن أن يستنسخ ذلك. وينبغي على الأقل أن تساعدك على العثور على مكان هذا الاختناق. من المسلم به أن هذا سيكون من الصعب (أ) لأنك سوف تضطر إلى الانتظار 20 دقيقة أو نحو ذلك في كل مرة كنت اختبار (ولكن إذا قمت بإجراء هذا الإجراء خلفية انها ليست سيئة للغاية) و (ب) لأن طبيعة مشاكل في الذاكرة هو أن هناك قد لا تكون واحدة سبب واحد، ولكن كتلة حرجة من الأسباب أصغر.

وحظا سعيدا!

ولم تكن تجربتي مع كائن الوك هذا عظيم. أنها لا تعطي دائما لك الذاكرة الفعلية المستخدمة من قبل طلبك.

وبدلا من ذلك، استخدام كائن الوك مع مراقبة النشاط. تأكد من استخدام "الذاكرة الفعلية الحرة" و "الذاكرة الفعلية المستخدمة" خيارات في مراقبة النشاط. وأن أقول لكم بالضبط كم ذاكرة التطبيق الخاص بك يستخدم.

وماذا تقصد ب "مستوى رائع". فإنه لا يرتفع مع مرور الوقت، في كل شيء؟ مقدار الذاكرة مجموعه - أنه يمكن أن يكون مجرد هاتف يحتاج إلى بعض الذاكرة لبعض التطبيقات الأخرى ولك قليلا كبيرة جدا على البقاء حتى

ورمز الخطأ 101 يعني أن قوة فون OS إنهاء التطبيق الخاص بك. إذا كنت تستخدم UIImageViews في التطبيق الخاص بك، تأكد لإدارة الذاكرة عليها. لقد وجدت أنه بمجرد طلبي يذهب أكثر 10/12 MB، اي فون ينهي ذلك.

إذا كنت لا تستخدم أي آراء الصورة (أو الصور الكبيرة)، ثم كود الخلفية الخاصة بك وتلتهم الكثير من الفضاء.

وكل ما يمكنني قوله هو أنت بحاجة الى ان ننظر في تخصيص الخاص بك أكثر بعناية وإدارة ما ترى أن تبقي في الذاكرة في وقت واحد.

وتشغيل التطبيق الخاص بك في الصكوك (تشغيل -> ابدأ مع أداة Performamce -> التسريبات). لنرى أين هو الحصول على تخصيص الذاكرة الخاصة بك

وآمل أن يساعد هذا!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top