Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(android): improve ListView scroll performance #12909

Merged
merged 9 commits into from Jun 30, 2021

Conversation

jquick-axway
Copy link
Contributor

@jquick-axway jquick-axway commented Jun 19, 2021

JIRA:
https://jira.appcelerator.org/browse/TIMOB-28439

Summary:

  • Improved ListView performance by recycling scrolled-off child proxies and their views.
  • Modified View.add() to not release native views if they're changing ViewGroup parents.

Complex Template Test:
(This is the customer's alloy test app converted to a classic app.)

  1. Build and run ListViewTemplateMultiComplexTest.js attached to TIMOB-28439.
  2. Quickly scroll the ListView all the way down/up and verify it doesn't stutter.

List of TextAreas/Fields Test:
(Verifies ListItem view changes are restored after scrolling it off and back on screen.)

  1. Build and run ListOfTextAreasTest.js attached to TIMOB-28439.
  2. Notice there are 20 text areas in the 1st section and 20 text fields in the 2nd section of the list view.
  3. Enter "abc" into the top-most text area in the list.
  4. Scroll to the very bottom.
  5. Enter "xyz" into the bottom-most text field in the list.
  6. Scroll to the top and verify "abc" is still in the top-most text area.
  7. Scroll to the bottom and verify "xyz" is still in the bottom-most text field

@jquick-axway jquick-axway added android bug no tests backport 10_2_X when applied, PRs with this label will get an auto-generated backport to 10_2_X branch on merge labels Jun 19, 2021
@jquick-axway jquick-axway added this to the 10.1.0 milestone Jun 19, 2021
@build build requested a review from a team June 19, 2021 05:04
@build
Copy link
Contributor

build commented Jun 19, 2021

Fails
🚫 Tests have failed, see below for more information.
Messages
📖 ✊ The commits in this PR match our conventions! Feel free to Rebase and Merge this PR when ready.
📖 ❌ 1 tests have failed There are 1 tests failing and 743 skipped out of 11984 total tests.

Tests:

ClassnameNameTimeError
ios.ipad.Titanium.Network.Socket.TCP#connect() and send data (14.4.0)7.881
Error: done() invoked with non-Error: {"success":false,"code":60,"source":{"port":80},"type":"error","error":"The operation couldn’t be completed. Operation timed out","socket":{"port":80}}
error@file:///Users/build/Library/Developer/CoreSimulator/Devices/6D1643D4-462C-49DE-84C1-2FF984AF89B5/data/Containers/Bundle/Application/18B45462-73C0-4F3A-859F-8F9C138D8872/mocha.app/ti.network.socket.tcp.test.js:67:15

Generated by 🚫 dangerJS against 9e890f0

Copy link
Contributor

@garymathews garymathews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR: PASS

@lokeshchdhry
Copy link
Contributor

FR Passed.
Wow its is pretty fast & smooth scrolling now :)

@sgtcoolguy sgtcoolguy merged commit 3059dab into tidev:master Jun 30, 2021
@build build removed the backport 10_2_X when applied, PRs with this label will get an auto-generated backport to 10_2_X branch on merge label Jun 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants