Misc updates rollup#151
Merged
jeromelaban merged 41 commits intomasterfrom Aug 28, 2018
Merged
Conversation
davidjohnoliver
approved these changes
Aug 28, 2018
|
|
||
| <Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" /> | ||
| <Import Project="..\Uno.CrossTargetting.props" /> | ||
| <ItemGroup> |
Member
Author
There was a problem hiding this comment.
Looks like rebase-added files messed up with VS...
Related Work Items: #126999
Replace hard references to parents from adapter and layouting with ManagedWeakReference, to reduce the chance of leaky reference cycles.
Modify subscription to ICollectionView.CurrentChanged to work around a memory leak when the collection implements the event using EventRegistrationTokenTable.
- Unset DependencyObject.Parent of ListViewItems when removed from native list - Unset DataContext of ListViewItems when list is refreshed (eg ItemsSource changes). This frees up their templates for reuse. - Refactor ClearContainerForItemOverride() (when this is implemented properly, it shouldn't unbind containers) - Remove unused code
This partially mitigates a concurrency issue when debugging Xamarin.Android where the activity constructor is called from a background thread.
Get children of inactive views, get typed list of leaked views
Related Work Items: #126839
Related Work Items: #128088, #128135
The dispatched call to remove views from the overridden Java finalize() causes sporadic crashes due to modifying already-finalized views. Remove for now until a better approach can be found. This is a non-breaking change because the current implementation doesn't do anything, due to a bug where removing views in this way doesn't change the DependencyObjectStore.Parent of the removed view (hence view never gets released to the template pool as intended).
Allow Pages to be pooled in the same way that FrameworkTemplate instances are currently pooled. This can be a significant performance improvement in certain Frame navigation scenarios. For now Pages are released to the pool conservatively (only on New navigation). It should be possible to optimize more aggressively by releasing pages when consumers modify the Back- and ForwardStacks programmatically.
Modify Scavenger() method in FrameworkTemplatePool and PagePool to dispatch idly again on each loop iteration, rather than continue on the normal UI SynchronizationContext.
This mirrors the schematic already available for Android.
Don't reset flag until the actual override is unset. This is already taken care of when ContentTemplateRoot is set.
Fix bug introduced by reordering call to SetNavigationBarHidden after CommandBar is rendered.
…d when there is a custom appbarbutton Related Work Items: #128079, #128556
Refactor to remove unnecessary parameters, no functional changes.
Remove HasAttachedToWindow flag from mixins and have DependencyObjectGenerator correctly handle calling OnLoaded/OnUnloaded.
Ensure detached views in the view cache are removed completely when the list is unloaded. This prevents bugs where the view's attached window (View.mAttachInfo) can get out of sync, causing various undefined behaviours (invisible items, items redrawn every draw cycle resulting in crash, etc).
Prevent crash from detaching undetached view, introduced by removing cached views during unloading. Add check in debug for private ViewHolder.isTmpDetached() value, to surface exceptions in the managed layer.
Makes errors easier to interpret.
Ensure that BindingPath updates managed weakRef of child BindingItem if it disposes the old weakRef, even if the target hasn't changed. This prevents a crash caused by the BindingItem retaining the disposed weakRef in certain situations where Phase binding is used on a chained binding and a list's ItemsSource is modified multiple times.
…resource generation fails.
Fix touch position calculation to take window offset into account. Previously the algorithm was assuming that the root view was at (0,0). This fixes bug where some touches weren't registered properly on views inside a popup window (eg, ComboBox items).
07a761c to
3073fc5
Compare
carldebilly
approved these changes
Aug 28, 2018
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
VisualStatenot updated whenTextBoxis focusedListViewandSelectormemory footprintBinderReferenceHolderWindow.BoundsGriditems size whenMinHeightandMinHeightare usedHyperLinkButtonScrollContentPresentermargin issueMessageDialogbehavior for androidContentControlData Context is now properly unsetEmailNameOrAddressInputScope forTextBoxComboBoxpopup touch issue