You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This Flipper plugin is an app introspection plugin focus on Android Sdk mains objects and their life cycle.
5
+
This library is an app introspection plugin for the [Flipper](https://github.com/facebook/flipper) tool. It does focus on Android Sdk mains objects and their life cycle inspection.
6
+
7
+
It enables to see the **big internal picture** of your running app in a side tool. Meaning that :
6
8
7
-
It enable to see the "big internal picture" of your running app in a side tool. Meaning that :
8
9
- trough running the app as a user
9
-
- you can kee an eye on internals as a developer
10
+
- you can keep an eye on internals as a developer
11
+
- see the dynamic of objects evolution
12
+
- without struggling with debugger
13
+
14
+
## Status :
15
+
16
+
- The plugin is **under development**
17
+
- The plugin **name** is not sealed (ideas are welcome)
18
+
- The **private Api** is not sealed at all (it will change in the future)
19
+
- The **public Api** is simple : future breaking change will be easy to handle
20
+
21
+
## Availability :
22
+
23
+
You can get the Android plugin with the Gradle dependency from Jitpack :
Follow the [Getting Started](https://fbflipper.com/docs/getting-started/android-native) section of the Flipper documentation
100
+
101
+
### Step 4 : Add the Android-Object-LifeCycle plugin to Flipper
102
+
103
+
In your application, register the plugin the Flipper configuration.
104
+
105
+
val client: FlipperClient = AndroidFlipperClient.getInstance(this)
106
+
with(client) {
107
+
addPlugin(
108
+
InspectorFlipperPlugin(
109
+
this@App,
110
+
DescriptorMapping.withDefaults()
111
+
)
112
+
)
113
+
...
114
+
addPlugin(BackStackFlipperPlugin(this@App))
115
+
start()
116
+
}
117
+
118
+
Be careful, to not embed this library in production !
81
119
82
-
### Flipper Desktop
120
+
### Step 5 : Add the Android-Object-LifeCycle plugin to Flipper-Desktop
83
121
84
122
Install the plgin in Flipper, it is called `lifecycle`[Npm page](https://www.npmjs.com/package/flipper-plugin-lifecycle)
85
123
86
-
## What can you achieve with the plugin
124
+
## What can you achieve with the plugin ?
87
125
88
126
- identify runtime object instances and structure
89
127
- identify leaks (remaining objects)
@@ -93,19 +131,32 @@ Install the plgin in Flipper, it is called `lifecycle` [Npm page](https://www.np
93
131
- lifeCycle issues
94
132
- backStack issues
95
133
134
+
## Consideration
135
+
136
+
- This plugin (as Flipper) must not be shipped in Production
137
+
- This plugin may doing lot of work, so please consider disabling it if you are not using it. I have not yet done measurement to evalute it resource requirement. But from the `5.0.0` version
138
+
- It should run on Background tread thank to Rx
139
+
- However, data structure of the app is kept in memory, so it may be a problem for some App or some low memory devices
140
+
- The Plugin uses Reflection for accessing privage properties or functions
141
+
96
142
## TODO
97
143
98
144
-[ ] Be able to filter object in structure
99
-
-[ ] Save option in client (duplex)
100
145
-[ ] Impact event filtering from object
101
146
-[ ] Evaluate saving data in db / shareprefs
102
147
-[ ] Handle clean versioning / release
103
148
-[ ] Generate docs
104
-
-[ ] Embed Desktop Code Source here
105
-
-[ ] Impl Jobs
106
-
-[ ] Impl Services
149
+
-[ ] Impl Jobs support
150
+
-[ ] Impl Services support
107
151
-[ ] See bundle / saveinstance state
108
152
-[ ] See App lifecycle
153
+
-[ ] Evaluated StateFlow support (on going PR)
154
+
-[ ] Imp BlackStack for ChildFragmentManager
155
+
-[ ] Highligh duplicate object in the tree if you click on it (see link between framgnet in stack...)
156
+
157
+
## ISSUES
158
+
159
+
-[ ] At first start, the tree is not updated ! You need to change screen to update the plugin.
0 commit comments