targi mobilne, dzien i, sala a, narzędziownik programisty android, wojciech kaliciński, we like...
DESCRIPTION
TRANSCRIPT
![Page 1: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/1.jpg)
Narzędziownikczyli co każdy programista
Androida znać powinien
![Page 2: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/2.jpg)
+Wojtek Kaliciński+Wojtek Kaliciński
![Page 3: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/3.jpg)
Najczęstsze problemy
![Page 4: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/4.jpg)
Najczęstsze problemy
Wolno działa
Zacina się interfejs
Zżera całą pamięć
Rozładowuje baterię
ANR
![Page 5: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/5.jpg)
Najczęstsze problemy
Wolno działa
Zacina się interfejs
Zżera całą pamięć
Rozładowuje baterię
ANR
CPU
GPU
RAM
Serwisy w tle
Wątek UI
![Page 6: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/6.jpg)
Systrace
![Page 7: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/7.jpg)
Systrace
![Page 8: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/8.jpg)
Systrace
![Page 9: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/9.jpg)
Systrace
![Page 10: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/10.jpg)
TraceView @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Debug.startMethodTracing();
}
@Override
public void onStop() {
super.onStop();
Debug.stopMethodTracing();
}
![Page 11: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/11.jpg)
TraceView
![Page 12: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/12.jpg)
TraceView
![Page 13: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/13.jpg)
HierarchyViewer https://github.com/romainguy/ViewServer/public class MyActivity extends Activity {
public void onCreate(Bundle savedInstanceState ) {
super.onCreate(savedInstanceState);
// Set content view, etc.
ViewServer.get(this).addWindow(this);
}
public void onDestroy() {
super.onDestroy();
ViewServer.get(this).removeWindow(this);
}
public void onResume() {
super.onResume();
ViewServer.get(this).setFocusedWindow(this);
}
}
![Page 14: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/14.jpg)
HierarchyViewer
![Page 15: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/15.jpg)
HierarchyViewer
![Page 16: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/16.jpg)
Tracer for OpenGL ES
![Page 17: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/17.jpg)
Tracer for OpenGL ES
![Page 18: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/18.jpg)
Tracer for OpenGL ES
![Page 19: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/19.jpg)
Tracer for OpenGL ES
![Page 20: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/20.jpg)
Developer options > Debug GPU overdraw
![Page 21: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/21.jpg)
Developer options > Debug GPU overdraw
![Page 22: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/22.jpg)
Developer options > Debug GPU overdraw
![Page 23: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/23.jpg)
Allocation Tracker
![Page 24: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/24.jpg)
![Page 25: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/25.jpg)
![Page 26: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/26.jpg)
![Page 27: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/27.jpg)
![Page 28: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/28.jpg)
StrictModepublic void onCreate() {
if (DEVELOPER_MODE) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog() // or .penaltyDeath()
.build());
}
super.onCreate();
}
![Page 29: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/29.jpg)
$ adb shell dumpsys meminfo com.package** MEMINFO in pid 9292 [pl.przepisy] ** Pss Private Private Swapped Heap Heap Heap Total Dirty Clean Dirty Size Alloc Free ------ ------ ------ ------ ------ ------ ------ Native Heap 9382 9356 0 0 16844 14427 148 Dalvik Heap 7963 7420 0 0 15564 15524 40 Dalvik Other 2076 1916 0 0 [...] Graphics 17696 17696 0 0 [...] TOTAL 48947 42776 2088 0 32408 29951 188 Objects Views: 100 ViewRootImpl: 2 AppContexts: 5 Activities: 1 Assets: 2 AssetManagers: 2 Local Binders: 15 Proxy Binders: 24 Death Recipients: 0 OpenSSL Sockets: 1
![Page 30: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/30.jpg)
$ adb shell dumpsys procstats com.package[...]
* pl.przepisy / u0a85: * pl.przepisy / u0a85: TOTAL: 31% ( 39MB-47MB-87MB/36MB-43MB-72MB over 22) Top: 31% ( 39MB-47MB-87MB/36MB-43MB-72MB over 22) (Cached): 3.3% (45MB-56MB-67MB/40MB-48MB-56MB over 2) * pl.przepisy.RequestService: Process: pl.przepisy Running count 12 / time 0.49% Started count 6 / time 0.48% Executing count 13 / time 0.02%
![Page 31: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/31.jpg)
Developer options > Process Stats
![Page 32: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/32.jpg)
Chrome remote debugging
![Page 33: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/33.jpg)
WebView remote debugging (4.4+)
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if ( 0 != ( getApplcationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) ) {
WebView.setWebContentsDebuggingEnabled(true);
}
}
![Page 34: TARGI MOBILNE, DZIEN I, SALA A, Narzędziownik programisty Android, Wojciech Kaliciński, We like caps!](https://reader033.vdocuments.net/reader033/viewer/2022051818/54b501f74a795980778b4758/html5/thumbnails/34.jpg)
Dziękuję!Q&A?
google.com/+Wojtek Kaliciński