2014-05-08 6 views
1

Je crée une application qui veut avoir une résolution de type plein écran pour la lecture vidéo sur iPad (c'est-à-dire 1024x768). En plus de ce joueur, je veux un ticker défilant (actuellement un UIScrollView avec beaucoup de sous-vues).iOS: lecture vidéo en grande trame avec le ticker UIScrollView

Si le lecteur est petit (256x192), le scrollview est très performant. Mais si je vais 512x384 ses performances semblent se dégrader, jusqu'à 1024x768 où la scrollview se comporte terriblement.

Est-ce juste une limitation évidente avec la lecture vidéo/UIKit? Y a-t-il une optimisation que je peux faire ou d'autres objets à expérimenter?

[modifier]

J'ai désactivé le symbole de défilement pour assurer ce ne fut pas le problème et a ajouté un simple, petit UIView avec la méthode d'animation suivante sur le bouton presse:

`[UIView animateWithDuration:.5 delay:0 usingSpringWithDamping:1.0f initialSpringVelocity:1.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{ 
    int Xrand = arc4random() % 1024; 
    int Yrand = arc4random() % 768; 
    self.animationView.center = CGPointMake(Xrand, Yrand); 
    [self.view bringSubviewToFront:self.reportbtn]; 
} completion:nil];` 

Répondre

0

Il s'avère que c'était juste lent dans le simulateur. Testé sur iPad 2/4 et il a bien fonctionné;)

0

Avoir 300 images impaires chargé dans la mémoire avec la lecture vidéo peut devenir lourd sur l'appareil.

Ce que vous pouvez faire est de remplacer le scrollview par quelque chose qui réutilise les vues et réduit ainsi l'empreinte mémoire globale.

Vous pouvez envisager d'utiliser UICollectionview ou une solution simple de NickLookwood SwipeView. Les deux permettent de réutiliser les vues.

+1

Ce n'est pas un mauvais conseil, mais UICollectionView ne semble pas fonctionner lorsque l'utilisateur n'interagit pas avec lui. Ce que je veux dire, c'est que si vous définissez une vue de collection pour définir le décalage de contenu dans un bloc animateWithDuration, elle ne supprime pas correctement les cellules. – CDM

+0

En tant que test, j'ai ajouté un simple bouton pour déplacer un rect au hasard autour de l'écran. Avec le UIScrollView désactivé et juste la lecture vidéo à 1024x768 cet animate broie à une vitesse lente de très juttery: – CDM

Questions connexes