سؤال

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

     [UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
if ([currentView superview])
{

    [UIView  setAnimationTransition:UIViewAnimationTransitionFlipFromRight  forView:mainView cache:YES];
    [currentView removeFromSuperview];
    [mainView addSubview:nextView];

}

[UIView commitAnimations];

شكرا مقدما ، Sekhar Bethalam.

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

المحلول

ما مدى تأكد من أن الرسوم المتحركة تسبب التسرب؟

ماذا يحدث عند إضافة/إزالة عمليات العرض الفرعية بدون الرسوم المتحركة؟ هل التسرب لا يزال هناك؟

أين هو nextView تهيئته/إطلاقه؟

ما هو بالضبط if ([currentView superview]) من المفترض أن أتحقق من ذلك لأنني أعتقد أنه سيعود دائمًا؟

نصائح أخرى

لست متأكدًا مما إذا كانت الطريقة نفسها التي تزيد من استخدام الذاكرة ولكن من المحتمل أن يتم تحميل وحدة تحكم العرض الخاصة بك؟

حاول أيضًا إضافة هذه الخطوط في كتلة الرسوم المتحركة الخاصة بك كما أعتقد أنها مشجعة (يرجى تصحيح لي إذا كنت مخطئًا) [CurrentView ViewWillAppear: نعم] ؛ [CurrentView ViewDidAppear: نعم] ؛ [MainView ViewWillDisAppear: نعم] ؛ [MainView ViewDidDisAppear: نعم] ؛

وأعتقد أيضًا أن setAnimationTransition قد تم تثبيته الآن في iOS4 ، لذا ربما حاول استخدام + (void) transitionwithView: (Uiview *) عرض المدة: (nstimeinterval) خيارات المدة: (UiviewAnimationOptions) خيارات الرسوم المتحركة: (void (^) (void)) إكمال الرسوم المتحركة: (void (^) (bool int)) الانتهاء

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