Ho creato un'app per iPhone. Ora, lo sto ricreando per iPad.UIActivityViewController richiede molto tempo per presentare
Quando l'utente seleziona il pulsante di azione nella barra degli strumenti, un popover dovrebbe mostrare con un UIActivityViewController
, ma per qualche motivo, ci vogliono circa 10 secondi per farlo visualizzare la prima volta. Su iPhone, ci vuole circa un secondo. È lo stesso codice tranne che per il popover.
Ho provato a disabilitare il popover, ma ci vogliono ancora circa 10 secondi per essere mostrato.
Ecco il codice:
-(IBAction)Actions:(UIBarButtonItem*)sender
{
if ([activityPopover isPopoverVisible] == YES)
{
[activityPopover dismissPopoverAnimated:YES];
return;
}
UIWebView *currentWebView = ((TabView *)self.tabs[self.currentTabIndex]).webViewObject;
NSString *currentURL = (NSString*)[currentWebView request].mainDocumentURL;
if (currentURL == NULL) return;
BookmarkActivity *bookmarkActivity = [[BookmarkActivity alloc] init];
UIActivityViewController *sharing = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObject:currentURL] applicationActivities:@[bookmarkActivity]];
activityPopover = [[UIPopoverController alloc] initWithContentViewController:sharing];
[activityPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}
Ho testato sul mio iPad 3 e il mio iPad mini, sia prendere un po 'di presentare questo.
Come posso risolvere il problema?
Avete provato con il tempo profiler? Potresti scoprire quali sono le istruzioni che richiedono la maggior parte del tempo. –
No, come faccio? – Maximilian
Premere cmd + I quindi selezionare il profiler temporale. Aspettare per 10-20 secondi. Quindi selezionare l'opzione "nascondi librerie di sistema". Ciò consentirà di vedere meglio il metodo nello stack di chiamate. Trovare il metodo nello stack di chiamate e fare clic due volte su di esso, vedrai il consumo di tempo. –