private async void Scavenger(IdleDispatchedHandlerArgs e) { var now = _watch.Elapsed; var removedInstancesCount = 0; foreach (var list in _pooledInstances.Values) { removedInstancesCount += list.RemoveAll(t => now - t.CreationTime > TimeToLive); } if (removedInstancesCount > 0) { if (_trace.IsEnabled) { for (int i = 0; i < removedInstancesCount; i++) { _trace.WriteEvent(TraceProvider.ReleaseTemplate); } } // Under iOS and Android, we need to force the collection for the GC // to pick up the orphan instances that we've just released. GC.Collect(); } await Task.Delay(TimeSpan.FromSeconds(30)); CoreDispatcher.Main.RunIdleAsync(Scavenger); }
private async void Scavenger(IdleDispatchedHandlerArgs e) { Scavenge(false); await Task.Delay(TimeSpan.FromSeconds(30)); CoreDispatcher.Main.RunIdleAsync(Scavenger); }
private async void Scavenger(IdleDispatchedHandlerArgs e) { Scavenge(false); await _platformProvider.Delay(TimeSpan.FromSeconds(30)); _platformProvider.Schedule(Scavenger); }
private void ItemsPanelChangedCallback(IdleDispatchedHandlerArgs e) { var wg = ItemsPanelRoot as VariableSizedWrapGrid; if (wg != null) { wg.ItemWidth = _itemWidth; } }
private void SetLayoutCompleted(IdleDispatchedHandlerArgs args) { this.fullLogs.Add("SetLayoutCompleted layoutCompletedCount=" + layoutCompletedCount); layoutCompletedCount--; if (layoutCompletedCount == 0) { txtLayoutCompleted.Text = "Yes"; } }
private void QuitApp(IdleDispatchedHandlerArgs e) { Application.Current.Exit(); }