Notes from Android Lifecycle Deep Dive

This commit is contained in:
Sarah Jamie Lewis 2021-05-20 17:36:43 -07:00
parent d8059197fe
commit 28ad4d0ec6
2 changed files with 13 additions and 0 deletions

13
SPEC.md
View File

@ -129,3 +129,16 @@ required - any new Cwtch work is beyond the scope of this initial spec.
- [ ] Leave Group
- [ ] Pressing Back should go back to the message pane for the group
## Android Requirements Notes
What are our expectations here?
- Can we periodically check groups in the background to power notifications?
- Either way we need networking in the service not the main/UI thread.
- We probably don't want to and very likely can't persist tor connections to peers indefinitely.
- Neither google nor apple are very tolerant of apps that try to create their own push message infrastructure.
- "Aside": Retrieving a CallbackHandle for a method from PluginUtilities.getCallbackHandle has the side effect of populating a callback cache within the Flutter engine, as seen in the diagram above. This cache maps information required to retrieve callbacks to raw integer handles, which are simply hashes calculated based on the properties of the callback. This cache persists across launches, but be aware that callback lookups may fail if the callback is renamed or moved and PluginUtilities.getCallbackHandle is not called for the updated callback.
- The above seems to imply that there is a persistent cache somewhere that can affect code between launches...the ramifications of this are ?!?!

BIN
cwtch-android-lifecycle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB