public void Clear() { _cache.RemoveAllObjects(); // Force immediate Garbage collection. Please note that is resource intensive. System.GC.Collect(); System.GC.WaitForPendingFinalizers(); System.GC.WaitForPendingFinalizers(); // Double call since GC doesn't always find resources to be collected: https://bugzilla.xamarin.com/show_bug.cgi?id=20503 System.GC.Collect(); }
public void Clear() { lock (_lock) { _cache.RemoveAllObjects(); _imageInformations.Clear(); } GC.Collect(); }
public override async void ViewDidLoad() { BTProgressHUD.Show(null, -1, ProgressHUD.MaskType.Clear); base.ViewDidLoad(); this.RestrictRotation(UIInterfaceOrientationMask.Portrait); imageCache.RemoveAllObjects(); btnRelationship.SetTitle("", UIControlState.Normal); btnRelationship.Hidden = true; profileImageView.Layer.MasksToBounds = true; profileImageView.Image = null; groupModel = await new UserGroupManager().GetGroupById(LoginController.tokenModel.access_token, groupId); lblName.Text = groupModel.name; lblName.TextColor = UIColor.FromRGB(90, 89, 89); textDescription.Text = groupModel.description; textDescription.TextColor = UIColor.FromRGB(90, 89, 89); if (groupModel.profilePicture != null) { Utils.SetImageFromNSUrlSession(groupModel.profilePicture, profileImageView, this, PictureType.Group); } else { profileImageView.Image = UIImage.FromBundle("Group"); } relationshipStatus = await new UserGroupManager().GetGroupRelationshipStatus(LoginController.tokenModel.access_token, groupId, LoginController.userModel.id); LoadRelationshipButton(); btnRelationship.TouchUpInside += BtnRelationship_TouchUpInside; if (groupId.Contains(LoginController.userModel.id)) { btnRelationship.Hidden = true; } else { btnRelationship.Hidden = false; } BTProgressHUD.Dismiss(); }
public override void ViewDidLoad() { BTProgressHUD.Show(null, -1, ProgressHUD.MaskType.Clear); base.ViewDidLoad(); this.EdgesForExtendedLayout = UIRectEdge.None; this.ExtendedLayoutIncludesOpaqueBars = false; this.AutomaticallyAdjustsScrollViewInsets = false; this.NavigationController.NavigationBar.Translucent = false; UINavigationBar.Appearance.TitleTextAttributes = new UIStringAttributes { ForegroundColor = UIColor.FromRGB(90, 89, 89) }; this.RestrictRotation(UIInterfaceOrientationMask.Portrait); imageCache.RemoveAllObjects(); profileImageView.Layer.MasksToBounds = true; profileImageView.Image = null; uploadButton.TouchUpInside += btnUpload_TouchUpInside; nameButton.TouchUpInside += btnName_TouchUpInside; emailButton.TouchUpInside += btnEmail_TouchUpInside; ageButton.TouchUpInside += btnAge_TouchUpInside; manButton.TouchUpInside += btnMan_TouchUpInside; womanButton.TouchUpInside += btnWoman_TouchUpInside; imagePicker.FinishedPickingMedia += Handle_FinishedPickingMedia; imagePicker.Canceled += Handle_Canceled; emailText.EditingDidEnd += EmailText_EditingDidEnd; logoutBtn.TouchUpInside += LogoutBtn_TouchUpInside; deleteBtn.TouchUpInside += DeleteBtn_TouchUpInside; ageText.KeyboardType = UIKeyboardType.NumberPad; ageText.ShouldChangeCharacters = (textField, range, replacement) => { int number; return(replacement.Length == 0 || int.TryParse(replacement, out number)); }; uploadButton.Layer.BorderColor = UIColor.FromRGB(90, 89, 89).CGColor; uploadButton.Layer.BorderWidth = 1f; uploadButton.TintColor = UIColor.FromRGB(90, 89, 89); uploadButton.SetTitleColor(UIColor.FromRGB(90, 89, 89), UIControlState.Normal); logoutBtn.Layer.BorderColor = UIColor.FromRGB(90, 89, 89).CGColor; logoutBtn.Layer.BorderWidth = 1f; logoutBtn.Layer.CornerRadius = 5; logoutBtn.TintColor = UIColor.FromRGB(90, 89, 89); logoutBtn.SetTitle(" Logout ", UIControlState.Normal); logoutBtn.SetTitleColor(UIColor.FromRGB(90, 89, 89), UIControlState.Normal); deleteBtn.Layer.BorderColor = UIColor.Red.CGColor; deleteBtn.Layer.BorderWidth = 1f; deleteBtn.Layer.CornerRadius = 5; deleteBtn.TintColor = UIColor.Red; deleteBtn.SetTitle(" Delete Account ", UIControlState.Normal); deleteBtn.SetTitleColor(UIColor.Red, UIControlState.Normal); nameText.TextColor = UIColor.FromRGB(90, 89, 89); emailText.TextColor = UIColor.FromRGB(90, 89, 89); ageText.TextColor = UIColor.FromRGB(90, 89, 89); genderText.TextColor = UIColor.FromRGB(90, 89, 89); nameText.Text = LoginController.userModel.name; emailText.Text = LoginController.userModel.userName; ageText.Text = LoginController.userModel.age.ToString(); if ("male".Equals(LoginController.userModel.gender) || "female".Equals(LoginController.userModel.gender)) { genderText.Text = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(LoginController.userModel.gender); UpdateGenderButtonStatus(LoginController.userModel.gender); } else { manButton.Alpha = 0.3f; womanButton.Alpha = 0.3f; } if (LoginController.userModel.profilePicturePath != null) { fileName = LoginController.userModel.profilePicturePath; Utils.SetImageFromNSUrlSession(fileName, profileImageView, this, PictureType.Profile); } else { profileImageView.Image = UIImage.FromBundle("Profile"); } BTProgressHUD.Dismiss(); }
public override async void ViewDidLoad() { BTProgressHUD.Show(null, -1, ProgressHUD.MaskType.Clear); base.ViewDidLoad(); this.EdgesForExtendedLayout = UIRectEdge.None; this.ExtendedLayoutIncludesOpaqueBars = false; this.AutomaticallyAdjustsScrollViewInsets = false; this.NavigationController.NavigationBar.Translucent = false; this.RestrictRotation(UIInterfaceOrientationMask.Portrait); imageCache.RemoveAllObjects(); try { btnRelationship.SetTitle("", UIControlState.Normal); btnRelationship.Hidden = true; btnBlock.SetTitle("", UIControlState.Normal); btnBlock.Hidden = true; profileImageView.Layer.MasksToBounds = true; friendUserModel = await new LoginManager().GetUserById(LoginController.tokenModel.access_token, friendUserId); nameText.Text = friendUserModel.name; emailText.Text = friendUserModel.userName; ageText.Text = friendUserModel.age.ToString(); nameText.TextColor = UIColor.FromRGB(90, 89, 89); emailText.TextColor = UIColor.FromRGB(90, 89, 89); ageText.TextColor = UIColor.FromRGB(90, 89, 89); genderText.TextColor = UIColor.FromRGB(90, 89, 89); if ("male".Equals(friendUserModel.gender) || "female".Equals(friendUserModel.gender)) { genderText.Text = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(friendUserModel.gender); } if (friendUserModel.profilePicturePath != null) { fileName = friendUserModel.profilePicturePath; Utils.SetImageFromNSUrlSession(fileName, profileImageView, this, PictureType.Profile); } relationshipStatus = await new FriendManager().GetUserRelationshipStatus(LoginController.tokenModel.access_token, friendUserId); LoadRelationshipButton(); isUserBlocked = await new UserManager().IsUserBlocked(friendUserId, LoginController.tokenModel.access_token); LoadBlockButton(); var adminGroups = (await new UserGroupManager().GetGroupsWithMembers(LoginController.userModel.id, LoginController.tokenModel.access_token)) .Where(g => g.userId == LoginController.userModel.id && g.members.Any(m => m.id == friendUserId)).ToList(); if (adminGroups != null && adminGroups.Count > 0) { groupsTableView.RegisterClassForCellReuse(typeof(GroupsTableViewCell), "cellId"); groupsTableView.Source = new GroupsTableViewSource(adminGroups, friendUserId); View.AddSubview(groupsTableView); groupsTableView.ReloadData(); groupsTableView.TableFooterView = new UIView(); groupsTableView.Hidden = false; groupsTitleLabel.Hidden = false; } } catch (Exception ex) { BTProgressHUD.Dismiss(); Utils.HandleException(ex); } btnRelationship.TouchUpInside += BtnRelationship_TouchUpInside; btnBlock.TouchUpInside += BtnBlock_TouchUpInside; BTProgressHUD.Dismiss(); }
public void Clear() { _cache.RemoveAllObjects(); System.GC.Collect(); // FMT: it's probably better to collect the GC since we need memory back? }
public CustomTileOverlay(string urlTemplate) : base(urlTemplate) { _cache = new NSCache(); _cache.RemoveAllObjects(); }