-
Notifications
You must be signed in to change notification settings - Fork 1
Home
#Welcome to the harbour-ostos wiki!#
##This is a Wiki page looking for its form.##
##Latest news## December 2016 it was obvious that something's wrong. I'm using the app almost every day, and see that it became slow when the list length is past the screen height. Memory consumption is also huge.
One issue was that the context menus are too heavy to hide, which proved to be a nice clue. I changed the list items' context menus to be dynamically created and destroyed. The clogging performance of earlier may be because of garbage collection's dump trucks driving in the background. Now I might even putting in some animations, to waste some time!
Second issue was that I had understood something wrong about Silica PageStack. Eye on pageStack.depth. If one pushes the presumably same page to page stack, it is added again to the top of pageStack of the app, and the other pages seem to remain in memory. Looks like there is no garbage collection that would clean up orphaned objects.
Solution to second issue is to pageStack.clear() and pageStack.push(Qt.resolvedURL("FirstPage.qml"). Never got working from a Dialog, Forward navigation Replace or Pop to Qt.resolvedURL("FirstPage.qml" will fail (transition in progress). Only PageStackAction.Push works and that leads to a very deep PageStack and problems.
I've put a button there (ItemEditPage.qml), because Dialog.accept() caused problems to me, if you want to go back.
###Please take care of database compatibility### Changes to database should be done so that updating the app keeps user's data unspoiled. Easier said than done, you'll have to: a) leave old fields unchanged b) add new fields to new tables c) or, implement database conversion. Read table in old format and write it back in new format. Once.
##New highlights of v1.06##
- Significiantly improved performance
- Eliminated some bugs in shop handling; also name swith dots and single quotes should work now OK.
##New features in v1.05##
- Swedish translation
##Incoming features##
- 1.07 is the next major change, an alpha is committed, with: -- more performance improvement -- Shop filtering (called earlier selection) is moved to a new page; there is a button on the first page. Selection of multiple shops is supported -- need of correcting translations -- I will leave database access and dbaccess.js with the present architecture for now. ##Wishlist##
- There was a request for price counting / followup. Good idea, but it makes everything a bit more complicated.
- A wish for adoption of a certain internationalization service. Let's see...
- Simplicity / clutter tradeoff: simple app or all the features.
- The database boilerplate code in dbaccess.js is a bit dumb, I admit. Surefire yes, profiling showed that it's not propably the performance bottleneck, but GUI. One could optimize SQL access only to app startup and shutdown, or developing even smarter startegy. At times I like to have both belt and suspenders, so Every Change Is a SQL access on the first version.