this post was submitted on 28 Sep 2023
1140 points (97.2% liked)
Memes
45730 readers
860 users here now
Rules:
- Be civil and nice.
- Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you have to.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I haven't yet looked into the lemmy client, but they don't necessarily have to call any function in that library for it to be active.
On one hand, there are the class variables in Java. When a class variable (a static one) has a value assigned at the place where the variable is declared, and the assignment is the result of a function call, afaik that will run when the class is loaded, which is basically every time the app is run. Same with static blocks.
On the other hand, on Android an app can have components that are automatically run in certain conditions, and which can be added by any programming library you have added to your project.
One such type of component is the BroadcastReceiver. These are mostly run on certain events broadcasted inside the app or through the whole system, but now I don't find whether any of those that Boost reddit uses are started by systemwide broadcasts. The other is the ContentProvider. These are started every time the app's process starts, but otherwise unconditionally. It's common for ad and tracking code to misuse this kind of components for being active as much as possible. Looking at the Boost reddit app, along others it has the following: