Popcon not working #8016
|
Is anyone still using Popcon to sort the app list? I noticed recently that it doesn't appear to be storing any new entries at all, neither with Desktop Launcher nor the system Launcher. Maybe something to do with fast load or the loader mechanism changing? I added some debug code and can confirm that Popcon doesn't see the apps getting loaded at all from the launchers. But if I manually call the |
Replies: 7 comments 20 replies
|
So, since I can't resist tinkering with things, I looked into it and see that the current launchers appear to use the I notice that it does slow down app launching a fair bit (by about a full second), which is not too surprising because it has to do the extra work of compiling stats and sorting, etc. For me, not having to scroll through several pages every time I want to launch my most-used apps makes up for the extra delay, though. Only thing is that it takes a second before the “Loading” message is displayed, which is a little confusing. Ideally I could make a loading message appear just before Popcon does its thing, to provide immediate user feedback. Or, if there was a way to manually arrange the app list by hand, I could put all my favorite apps at the top and not need all the overhead of Popcon's automatic arrangement algorithm, and app launching would be faster. Is this possible? I'd only have to rearrange the list whenever I added an app or changed my habits, which wouldn't be too bad, I think. |
|
Okay, I'll do it the safer way, then, and maybe call But I'm thinking maybe I'm mistaken. I thought Popcon was slowing launch down, but it turns out the delay isn't consistent and doesn't always take that long. Sometimes it seems to take a bit longer than others? At any rate, it looks like the delay might actually be somewhere other than Popcon after all, because even with the Do we happen to have any profiling tools available? |
|
I started to have a feeling that Popcon might not have been contributing much to the delay. I ended up just doing some tests the old-fashioned way, by throwing in a bunch of The slowest potential line I found was actually in I assume it's the search for “Bangle.loadWidgets” in the app's source code that can take a little while, especially for large apps. Usually, it's not that long, but for the largest .js file currently on my Bangle (NES Clock), the delay is fairly noticeable. I think the “Loading…” message gets printed by Optionally, perhaps it might be worth caching the result of |
|
Okay, I seem to have missed the forest for the trees here, but there's apparently something fishy going on in my Bangle. In my tests, the work of determining whether the app uses widgets and trying to cache the result is being executed on every single launch, every time. I checked my Edit: Even if I use Does anyone see any problems with the contents of this Edit 2: This seems to be another Storage issue. Compacting flash did not solve the issue, but deleting the cache file and writing it back from the IDE did. There seems to have been a glitch where an old version of the file was somehow hidden in memory and new changes were not being saved. This just happened after I completely wiped the flash and reloaded from a backup, so I'm getting a bit concerned. Could the flash on my Bangle be somehow dying? Or maybe there's some kind of storage bug? |
|
FYI: I added an update to the end of my last post, possibly right after you responded. This is on 2v29. You reminded me, though, that I'm running a local version of the IDE that I haven't remembered to pull updates from in a long time, so maybe I'd better do that. |
|
Just regular. No cutting edge. |
|
Okay, so I think the app caching is working on my end again, so there is a very minimal delay between tap and loading screen. Occasionally I can still notice a very brief delay. I'm probably nitpicking a bit, but I like the result of putting an extra |
Yes, I believe once I deleted and rewrote the app cache file in storage, the app widget information was getting written and actually sticking this time, so it's not reexecuting the caching code anymore.
I am quite sure the problem has nothing to do with Popcon.
What was happening before was that apparently the system was in a confused state, and code on the Bangle itself was reading a different version of
launch.cache.jsonfrom the one that appeared in the IDE when I loaded it. And apparently when apps on the Bangle tried to write over the file, those changes weren't showing up on a read, but instead they kept getting the old version of the file again and again.Only when I manually delet…