
ಆಂಡ್ರಾಯ್ಡ್ ಅಪ್ಲಿಕೇಶನ್ ನಿಧಾನವಾದಾಗ, ತೊದಲಿದಾಗ ಅಥವಾ ಚಂಚಲ ಅನಿಮೇಷನ್ಗಳನ್ನು ಹೊಂದಿರುವಾಗ (ಸಿಸ್ಟಮ್ ಅನಿಮೇಷನ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ)ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಯಾವಾಗಲೂ ಒಂದು ಗುಪ್ತ ಅಪರಾಧಿ ಅಡಗಿಕೊಂಡಿರುತ್ತಾನೆ: ವಿಳಂಬ ಮತ್ತು ಭಯಾನಕ ಜಂಕ್. ಆಂಡ್ರಾಯ್ಡ್ ಹಲವಾರು ರೋಗನಿರ್ಣಯ ಸಾಧನಗಳನ್ನು ನೀಡುತ್ತದೆ, ಆದರೆ ಅತ್ಯಂತ ಶಕ್ತಿಶಾಲಿ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ ಒಂದು perfetto, ಕ್ಲಾಸಿಕ್ ಆಜ್ಞೆಯೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ dumpsys ಮತ್ತು ಡೇಟಾ ಮೂಲಗಳು ಉದಾಹರಣೆಗೆ ftrace, atrace o heapprofdಅವುಗಳನ್ನು ಸರಿಯಾಗಿ ಬಳಸುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದರಿಂದ "ನನ್ನ ಅಪ್ಲಿಕೇಶನ್ ವಿಚಿತ್ರವಾಗಿ ವರ್ತಿಸುತ್ತಿದೆ" ಎಂಬ ಅಸ್ಪಷ್ಟ ಭಾವನೆಯಿಂದ ಕಾಂಕ್ರೀಟ್ ಸಂಖ್ಯೆಗಳು, ಕುರುಹುಗಳು ಮತ್ತು ಕಾರಣಗಳನ್ನು ಹೊಂದಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಶಾಂತವಾಗಿ ಆದರೆ ನೇರವಾಗಿ ಒಡೆಯುತ್ತೇವೆ, ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ perfetto ಆಂಡ್ರಾಯ್ಡ್ನಲ್ಲಿ, ಅದು ಯಾವ ಬಳಕೆಯ ವಿಧಾನಗಳನ್ನು ಹೊಂದಿದೆ, ಯಾವ ಡೇಟಾ ಮೂಲಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು ಮತ್ತು ಇತರ ಪ್ರಮುಖ ಆಜ್ಞೆಗಳಿಗೆ ಅದು ಹೇಗೆ ಪೂರಕವಾಗಿರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ dumpsys gfxinfo, dumpsys meminfo o dumpsys batterystatsಇದರ ಉದ್ದೇಶವೆಂದರೆ, ನೀವು ಅಳೆಯಬಹುದಾದ ಎಲ್ಲದರ ಸಂಪೂರ್ಣ ಅವಲೋಕನವನ್ನು ನೀಡುವುದು ಮತ್ತು ಅದನ್ನು ಬಳಸಿಕೊಂಡು ವಿಳಂಬವನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು, ಜಂಕ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಮತ್ತು ಪ್ರಾಸಂಗಿಕವಾಗಿ ಮೆಮೊರಿ, ನೆಟ್ವರ್ಕ್ ಮತ್ತು ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಸುಧಾರಿಸಲು ಹೇಗೆ ಬಳಸುವುದು.
ಪರ್ಫೆಟ್ಟೊ ಎಂದರೇನು ಮತ್ತು ಅದು ವಿಳಂಬ ಮತ್ತು ಜಂಕ್ಗೆ ಏಕೆ ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ?
perfetto ಇದು ಆಂಡ್ರಾಯ್ಡ್ನಲ್ಲಿ ಸಂಯೋಜಿಸಲಾದ ಕಾರ್ಯಕ್ಷಮತೆ ಪತ್ತೆಹಚ್ಚುವ ಸಾಧನವಾಗಿದೆ. ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಆಂಡ್ರಾಯ್ಡ್ ಡೀಬಗ್ ಬ್ರಿಡ್ಜ್ (ADB) ಬಳಸಿಕೊಂಡು ಕಂಪ್ಯೂಟರ್ನಿಂದ adb shell perfetto ...ಸಾಧನದಲ್ಲಿ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದರ ಕುರಿತು ಕೆಳಮಟ್ಟದ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವುದು ಇದರ ಧ್ಯೇಯವಾಗಿದೆ: ಕರ್ನಲ್ ಚಟುವಟಿಕೆಗಳು, ಬಳಕೆದಾರರ ಟಿಪ್ಪಣಿಗಳು, ಮೆಮೊರಿ ಬಳಕೆ, ಪ್ರಕ್ರಿಯೆಯ ಅಂಕಿಅಂಶಗಳು, ಇತ್ಯಾದಿ. ಎಲ್ಲವನ್ನೂ ಟ್ರೇಸ್ ಸ್ವರೂಪದಲ್ಲಿ ಸಂಗ್ರಹಿಸುವುದು, ನಂತರ ನೀವು ವೆಬ್ಸೈಟ್ನಂತಹ ವೀಕ್ಷಕರೊಂದಿಗೆ ವಿಶ್ಲೇಷಿಸಬಹುದು. perfetto.dev.
ಪರ್ಫೆಟ್ಟೊ ಹಲವಾರು ವಿಶೇಷ "ಡೇಟಾ ಮೂಲಗಳನ್ನು" ಆಧರಿಸಿದೆ., ಇವುಗಳಲ್ಲಿ ಸ್ಟ್ಯಾಂಡ್:
ftrace, ಇದು ಕರ್ನಲ್ ಈವೆಂಟ್ಗಳನ್ನು (ಥ್ರೆಡ್ ಶೆಡ್ಯೂಲಿಂಗ್, ಫೈಲ್ ಸಿಸ್ಟಮ್, ಇತ್ಯಾದಿ) ಸೆರೆಹಿಡಿಯುತ್ತದೆ.atrace, ಸೇವೆಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಬಳಕೆದಾರ ಸ್ಥಳದಿಂದ ಟಿಪ್ಪಣಿಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿದೆ.heapprofd, ಸೇವೆಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಸ್ಥಳೀಯ ಮೆಮೊರಿ ಬಳಕೆಯ ಮಾದರಿಯನ್ನು ಕೇಂದ್ರೀಕರಿಸಿದೆ.
ಈ ಮೂಲಗಳನ್ನು ಸೂಕ್ತವಾಗಿ ಸಂಯೋಜಿಸುವ ಮೂಲಕUI ಲೇಟೆನ್ಸಿ ಸಮಸ್ಯೆಗಳು, ಸ್ಕಿಪ್ಡ್ ಫ್ರೇಮ್ಗಳು, CPU ಸ್ಪೈಕ್ಗಳು ಅಥವಾ I/O-ಸಂಬಂಧಿತ ಲಾಕ್ಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಮಾಹಿತಿಯನ್ನು ನೀವು ನಿಖರವಾಗಿ ರೆಕಾರ್ಡ್ ಮಾಡಬಹುದು. UFS ಸಂಗ್ರಹಣೆ.

ಪರ್ಫೆಟ್ಟೊದ ಮೂಲ ಸಿಂಟ್ಯಾಕ್ಸ್ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಯ ವಿಧಾನಗಳು
ಪರ್ಫೆಟ್ಟೊವನ್ನು ಎರಡು ಪ್ರಮುಖ ವಿಧಾನಗಳಲ್ಲಿ ಬಳಸಬಹುದು: ಬೆಳಕು ಮತ್ತು ಸಾಮಾನ್ಯ.ಎರಡನ್ನೂ ADB ಯಿಂದ ಕರೆಯಲಾಗಿದೆ, ಆದರೆ ಅವುಗಳು ಏನನ್ನು ಪ್ಲಾಟ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ಹೇಗೆ ಉಳಿಸಲಾಗಿದೆ ಎಂಬುದರಲ್ಲಿ ಬಹಳ ಭಿನ್ನವಾಗಿವೆ.
ಸಾಮಾನ್ಯ ಕಲ್ಪನೆ ಯಾವಾಗಲೂ ಒಂದೇ ಆಗಿರುತ್ತದೆ.: ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿ adb shell perfetto ಅವಧಿ, ಬಫರ್ ಗಾತ್ರ, ಡೇಟಾ ಮೂಲಗಳು ಮತ್ತು ಔಟ್ಪುಟ್ ಟ್ರೇಸ್ ಫೈಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಫಲಿತಾಂಶದ ಫೈಲ್ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರೋಟೋಕಾಲ್ ಸ್ವರೂಪವನ್ನು ಅನುಸರಿಸಿ ರಚಿಸಲಾಗುತ್ತದೆ. trace.proto AOSP ನಿಂದ, ಅದನ್ನು ನೀವು ಪರ್ಫೆಟ್ಟೊದ ವಿಶ್ಲೇಷಣಾ ಪರಿಕರಗಳಲ್ಲಿ ತೆರೆಯಬಹುದು.
ಪರ್ಫೆಟ್ಟೊವನ್ನು ಆಹ್ವಾನಿಸುವಾಗ ಸಾಮಾನ್ಯ ಆಯ್ಕೆಗಳು
ಮೋಡ್ ಏನೇ ಇರಲಿ (ಬೆಳಕು ಅಥವಾ ಸಾಮಾನ್ಯ)ಸೆರೆಹಿಡಿಯುವಿಕೆಯನ್ನು ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ, ರಚಿಸಲಾದ ಫೈಲ್ನೊಂದಿಗೆ ಏನು ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಎಚ್ಚರಿಕೆ ಅಥವಾ ರಿಮೋಟ್ ಅಪ್ಲೋಡ್ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಹೇಗೆ ಸಂಯೋಜಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುವ ಹಲವಾರು ಸಾಮಾನ್ಯ ಫ್ಲ್ಯಾಗ್ಗಳಿವೆ:
--backgroundo-d: ಮಾಡುತ್ತದೆperfettoಆಜ್ಞಾ ಸಾಲಿನ ಇಂಟರ್ಫೇಸ್ನಿಂದ ನಿರ್ಗಮಿಸಿ ಮತ್ತು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ಮುಂದುವರಿಸಿ.--background-waito-Dಹಿಂದಿನದಕ್ಕೆ ಹೋಲುತ್ತದೆ, ಆದರೆ ಎಲ್ಲಾ ಡೇಟಾ ಮೂಲಗಳು ಪ್ರಾರಂಭವಾಗಿವೆ ಎಂದು ಖಚಿತಪಡಿಸಲು 30 ಸೆಕೆಂಡುಗಳವರೆಗೆ ಕಾಯುತ್ತದೆ. ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದ್ದರೆ ನಿರ್ಗಮನ ಕೋಡ್ 0 ಆಗಿರುತ್ತದೆ ಮತ್ತು ದೋಷ ಅಥವಾ ಸಮಯ ಮೀರಿದ್ದರೆ 0 ಹೊರತುಪಡಿಸಿ ಬೇರೇನಾದರೂ ಇರುತ್ತದೆ.--alert-id,--config-id,--config-uidy--subscription-id: ಟ್ರೇಸ್ ಅನ್ನು ಎಚ್ಚರಿಕೆಗಳಿಗೆ ಲಿಂಕ್ ಮಾಡುವ ಅಥವಾ ಕಾನ್ಫಿಗರೇಶನ್ಗಳನ್ನು ಪ್ರಚೋದಿಸುವ ಗುರುತಿಸುವಿಕೆಗಳು ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ, ಸ್ವಯಂಚಾಲಿತ ಮೇಲ್ವಿಚಾರಣಾ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಉಪಯುಕ್ತವಾಗಿದೆ.--out OUT_FILEo-o OUT_FILE: ಟ್ರೇಸ್ ಫೈಲ್ ಅನ್ನು ಉಳಿಸುವ ಪೂರ್ಣ ಮಾರ್ಗ, ಅಥವಾ-ನೀವು ಬಯಸಿದರೆ ನಾನು ಹೋಗುತ್ತೇನೆstdoutಡೈರೆಕ್ಟರಿಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಹೀಗೆ ಬಳಸಲಾಗುತ್ತದೆ/data/misc/perfetto-traces.--upload: ಸೆರೆಹಿಡಿಯುವಿಕೆ ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಟ್ರೇಸ್ ಫೈಲ್ ಅನ್ನು ಸಂದೇಶದಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪ್ಯಾಕೆಟ್ಗೆ ತಲುಪಿಸಿIncidentReportConfigಮೂಲಮಾದರಿಯ ಸಂರಚನೆಯಲ್ಲಿ.--no-guardrailsy--reset-guardrails: ಅವರು ಭದ್ರತಾ ಕಾರ್ಯವಿಧಾನಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲ ಮಿತಿಗಳನ್ನು ನಿಯಂತ್ರಿಸುತ್ತಾರೆ. ಸ್ವಯಂಚಾಲಿತ ಅಪ್ಲೋಡ್ ಸಕ್ರಿಯಗೊಂಡಾಗ (--upload), ಪರೀಕ್ಷೆಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಉತ್ಪಾದನೆಗೆ ಅಷ್ಟಾಗಿ ಅಲ್ಲ.--rsave-for-bugreport: ಸೆರೆಹಿಡಿಯುವಿಕೆಯು ಹೊಂದಿದ್ದರೆ abugreport_score0 ಕ್ಕಿಂತ ಹೆಚ್ಚಿನದು, ಟ್ರೇಸ್ ಅನ್ನು ಫೈಲ್ಗೆ ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಪೂರ್ಣಗೊಂಡ ನಂತರ ಮಾರ್ಗವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ, ದೋಷ ವರದಿಗಳಿಗೆ ಸುಲಭವಾಗಿ ಲಗತ್ತಿಸಲು.--queryy--query-rawಅವರು ಟ್ರೇಸ್ ಸೇವೆಯ ಸ್ಥಿತಿಯನ್ನು ಪ್ರಶ್ನಿಸುತ್ತಾರೆ. ಮೊದಲನೆಯದು ಓದಬಹುದಾದ ಔಟ್ಪುಟ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ, ಎರಡನೆಯದು ಪ್ರೋಟೋಕೋಡ್ ಮಾಡಲಾದ ವಿಷಯವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆtracing_service_state.proto.--helpo-h: ಉಪಕರಣದ ಅಂತರ್ನಿರ್ಮಿತ ಸಹಾಯವನ್ನು ಮುದ್ರಿಸುತ್ತದೆ.
ಪರ್ಫೆಟ್ಟೊದ ಲೈಟ್ ಮೋಡ್: ವೇಗವಾಗಿದೆ ಮತ್ತು ಸಿಸ್ಟ್ರೇಸ್ನಂತೆಯೇ ಇರುತ್ತದೆ.
ಪರ್ಫೆಟ್ಟೊದ ಲೈಟ್ ಮೋಡ್ ಅನ್ನು ವೇಗದ ಟ್ರೇಸ್ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.ಐತಿಹಾಸಿಕವಾಗಿ ಅದನ್ನು ಹೇಗೆ ಬಳಸಲಾಗಿದೆ ಎಂಬುದಕ್ಕೆ ಹೋಲುತ್ತದೆ. systraceಇದು ಮೂಲಗಳ ಮೂಲ ಉಪವಿಭಾಗವನ್ನು ಮಾತ್ರ ಆಯ್ಕೆ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ: ಮೂಲಭೂತವಾಗಿ atrace y ftraceಮತ್ತು ಇದು ಜೊತೆಗೆ ಉಪಯುಕ್ತವಾಗಿದೆ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು ಅಪ್ಲಿಕೇಶನ್ಗಳು.
ಹಗುರವಾದ ಮೋಡ್ನಲ್ಲಿ ವಿಶಿಷ್ಟ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅದು ಹೀಗಿದೆ:
adb shell perfetto ... --out FILE
ಲೈಟ್ ಮೋಡ್ನ ಅತ್ಯಂತ ಪ್ರಸ್ತುತವಾದ ನಿರ್ದಿಷ್ಟ ಆಯ್ಕೆಗಳಲ್ಲಿ ನಾವು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ:
--time TIMEo-t TIME: ಟ್ರೇಸ್ನ ಅವಧಿ ಸೆಕೆಂಡುಗಳು, ನಿಮಿಷಗಳು ಅಥವಾ ಗಂಟೆಗಳಲ್ಲಿ. ಉದಾಹರಣೆಗೆ,--time 1mಒಂದು ನಿಮಿಷ ಸೆರೆಹಿಡಿಯಿರಿ. ಏನನ್ನೂ ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದರೆ, ಡೀಫಾಲ್ಟ್ ಆಗಿ 10 ಸೆಕೆಂಡುಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.--buffer SIZEo-b SIZE: ಮೆಮೊರಿಯಲ್ಲಿ ವೃತ್ತಾಕಾರದ ಬಫರ್ನ ಗಾತ್ರ. ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವು ಸಾಮಾನ್ಯವಾಗಿ ಈ ರೀತಿಯಾಗಿರುತ್ತದೆ--buffer 32mb.--size SIZEo-s SIZE: ಡಿಸ್ಕ್ನಲ್ಲಿ ಗರಿಷ್ಠ ಫೈಲ್ ಗಾತ್ರದ ಮಿತಿ. ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, ಪರ್ಫೆಟ್ಟೊ ಮೆಮೊರಿ ಬಫರ್ಗೆ ಮಾತ್ರ ಬರೆಯಬಹುದು.--appo-a: ಟಿಪ್ಪಣಿಗಳಲ್ಲಿ ಬಳಸಬೇಕಾದ Android ಅಪ್ಲಿಕೇಶನ್ ಪ್ಯಾಕೇಜ್ನ ಹೆಸರುatrace.
ಈ ಧ್ವಜಗಳ ನಂತರ "ಈವೆಂಟ್ ಸ್ಪೆಸಿಫೈಯರ್ಗಳು" ಪಟ್ಟಿಮಾಡಲಾಗಿದೆ.ಯಾವ ವರ್ಗಗಳು ಅಥವಾ ಘಟನೆಗಳನ್ನು ದಾಖಲಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ:
ATRACE_CAT: ವಿಭಾಗಗಳುatraceನೀವು ಸಕ್ರಿಯಗೊಳಿಸಲು ಬಯಸುವ (ಉದಾಹರಣೆಗೆ,wm(ವಿಂಡೋ ಮ್ಯಾನೇಜರ್ ಗಾಗಿ). ಒಂದು ವಿಶಿಷ್ಟ ಆಜ್ಞೆ ಹೀಗಿರುತ್ತದೆ:adb shell perfetto --out FILE wm.FTRACE_GROUP/FTRACE_NAME: ನಿರ್ದಿಷ್ಟ ಘಟನೆಗಳುftrace, ಎಂದುsched/sched_switchನೀವು ಚಲಾಯಿಸಬಹುದು:adb shell perfetto --out FILE sched/sched_switch.
ಪರ್ಫೆಟ್ಟೊದ ಸಾಮಾನ್ಯ ಮೋಡ್: ಗರಿಷ್ಠ ನಿಯಂತ್ರಣ ಮತ್ತು ಹೆಚ್ಚಿನ ಮೂಲಗಳು
ಪರ್ಫೆಟ್ಟೊದ ಸಾಮಾನ್ಯ ಮೋಡ್ ಹೆಚ್ಚು ಶಕ್ತಿಶಾಲಿ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದಾಗಿದೆ.ಪ್ರತ್ಯೇಕ ವರ್ಗಗಳನ್ನು ರವಾನಿಸುವ ಬದಲು, ಯಾವ ಡೇಟಾ ಮೂಲಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು, ಹೇಗೆ ಮಾದರಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು, ಯಾವ ಬಫರ್ಗಳನ್ನು ಬಳಸಬೇಕು ಇತ್ಯಾದಿಗಳನ್ನು ವಿವರವಾಗಿ ವಿವರಿಸುವ ಸಂರಚನಾ ಫೈಲ್ (ಪ್ರೋಟೋ) ನಿಮಗೆ ನೀಡಲಾಗುತ್ತದೆ.
ಸಾಮಾನ್ಯ ಮೋಡ್ಗೆ ಸಾಮಾನ್ಯ ಸಿಂಟ್ಯಾಕ್ಸ್ ಇದು:
adb shell perfetto --config CONFIG_FILE --out FILE
ಈ ಮೋಡ್ನಲ್ಲಿ ಪ್ರಮುಖವಾಗಿರುವ ನಿರ್ದಿಷ್ಟ ಫ್ಲ್ಯಾಗ್ಗಳು ಅವುಗಳು:
--config CONFIG_FILEo-c CONFIG_FILE: ಸ್ಕೀಮ್ ಅನ್ನು ಅನುಸರಿಸುವ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗೆ ಮಾರ್ಗtrace_config.protoAOSP ನಲ್ಲಿ. ಈ ಮೂಲಮಾದರಿಯೊಳಗೆ, ಅಂತಹ ಅಂಶಗಳುTraceConfigyDataSourceConfig(ಇದರಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆdata_source_config.proto) ಡೇಟಾ ಮೂಲಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಮತ್ತು ಪ್ಯಾರಾಮೀಟರ್ ಮಾಡಲು.--txt: ಸಂರಚನಾ ಕಡತವು ಪಠ್ಯ ಸ್ವರೂಪದಲ್ಲಿದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆpbtxtಬೈನರಿ ಬದಲಿಗೆ. ಸ್ಥಳೀಯ ಮೂಲಮಾದರಿ ತಯಾರಿಕೆಗೆ ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ, ಆದರೆ ಅಂತಿಮ ಉತ್ಪಾದನಾ ಸ್ವರೂಪವಾಗಿ ಶಿಫಾರಸು ಮಾಡಲಾಗಿಲ್ಲ.
ಪರ್ಫೆಟ್ಟೊ ಹೊಂದಾಣಿಕೆಯ ಡೇಟಾ ಮೂಲಗಳು
ಪರ್ಫೆಟ್ಟೊದ ನಿಜವಾದ ಶಕ್ತಿ ಅದು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದಾದ ವಿವಿಧ ಸಂಪನ್ಮೂಲಗಳಲ್ಲಿದೆ.ಪ್ರತಿಯೊಂದನ್ನು ಮೂಲಮಾದರಿಯಿಂದ ಒಂದು ಬ್ಲಾಕ್ ಮೂಲಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ DataSourceConfigಮತ್ತು ಸಾಧನ, ಆಂಡ್ರಾಯ್ಡ್ ಆವೃತ್ತಿ ಮತ್ತು ಕರ್ನಲ್ ಅನ್ನು ಅವಲಂಬಿಸಿ, ನಿಮಗೆ ಹೆಚ್ಚು ಅಥವಾ ಕಡಿಮೆ ಆಯ್ಕೆಗಳು ಲಭ್ಯವಿರುತ್ತವೆ.

ftrace ನೊಂದಿಗೆ ಕರ್ನಲ್ ಈವೆಂಟ್ಗಳು
ಕಾರಂಜಿ ftrace ಪರ್ಫೆಟ್ಟೊ ನಿಮಗೆ ಆಂತರಿಕ ಕರ್ನಲ್ ಈವೆಂಟ್ಗಳನ್ನು ಸೆರೆಹಿಡಿಯಲು ಅನುಮತಿಸುತ್ತದೆ.ಥ್ರೆಡ್ ಸಮಯಕ್ಕೆ ಸರಿಯಾಗಿ ವೇಳಾಪಟ್ಟಿ ಮಾಡುತ್ತಿಲ್ಲ ಅಥವಾ ಯಾವುದೇ ಕ್ಷಣದಲ್ಲಿ CPU ಅನ್ನು ಯಾವುದು ನಿರ್ಬಂಧಿಸುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಬಯಸಿದಾಗ ಇದು ಶುದ್ಧ ಚಿನ್ನವಾಗಿದೆ.
ಸಕ್ರಿಯಗೊಳಿಸಲು ftrace ಸೆಟ್ಟಿಂಗ್ಗಳಿಂದ ಕ್ಷೇತ್ರವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬೇಕಾಗಿದೆ. ftrace_config ಒಳಗೆ DataSourceConfig...ಯಾವ ನಿರ್ದಿಷ್ಟ ಘಟನೆಗಳನ್ನು ನಾವು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಬಯಸುತ್ತೇವೆ ಎಂಬುದನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಮೂಲಕ. ಪ್ರಕ್ರಿಯೆ ವೇಳಾಪಟ್ಟಿಗೆ ಸಂಬಂಧಿಸಿದ ಕೆಲವು ಸಾಮಾನ್ಯ ಉದಾಹರಣೆಗಳು:
sched/sched_switchsched/sched_wakeupsched/sched_wakeup_newsched/sched_process_execsched/sched_process_exitsched/sched_process_forksched/sched_process_freesched/sched_process_hangsched/sched_process_wait
ಫೈಲ್ ಸಿಸ್ಟಮ್ ಈವೆಂಟ್ಗಳು ಮತ್ತು ಬ್ಯಾಕ್ಟ್ರ್ಯಾಕಿಂಗ್ ಟಿಪ್ಪಣಿಗಳನ್ನು ಸಹ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು.ಆದ್ದರಿಂದ ಒಂದೇ ಟ್ರೇಸ್ ಕರ್ನಲ್ ಡೇಟಾ ಮತ್ತು ಉನ್ನತ ಮಟ್ಟದ ಈವೆಂಟ್ಗಳನ್ನು ಸೆರೆಹಿಡಿಯುತ್ತದೆ. ನಿಜವಾದ ಈವೆಂಟ್ಗಳ ಪಟ್ಟಿ ಯಾವಾಗಲೂ ಸಾಧನ ಮತ್ತು ಅದರ ಕರ್ನಲ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಸಂಬಂಧಿತ ಕಾನ್ಫಿಗರೇಶನ್ ಪ್ರೋಟೋಕಾಲ್ಗಳನ್ನು ಸಂಪರ್ಕಿಸುವುದು ಸೂಕ್ತವಾಗಿದೆ.
ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ವ್ಯವಸ್ಥೆಯ ಅಂಕಿಅಂಶಗಳು
ಮತ್ತೊಂದು ಅತ್ಯಂತ ಪ್ರಾಯೋಗಿಕ ಮೂಲವೆಂದರೆ ಪ್ರಕ್ರಿಯೆಯ ಅಂಕಿಅಂಶಗಳು ಮತ್ತು ವ್ಯವಸ್ಥೆಯೇ.ಇದು ಜಾಗತಿಕವಾಗಿ ಮತ್ತು ಪ್ರತಿ ವೈಯಕ್ತಿಕ ಪ್ರಕ್ರಿಯೆಯ ಸಂಪನ್ಮೂಲ ಬಳಕೆಯ ಆವರ್ತಕ ಕೌಂಟರ್ಗಳನ್ನು ಪಡೆಯಲು ಅನುಮತಿಸುತ್ತದೆ, ನಿರ್ದಿಷ್ಟ ಜಂಕ್ ಈವೆಂಟ್ಗಳೊಂದಿಗೆ CPU ಅಥವಾ ಮೆಮೊರಿ ಸ್ಪೈಕ್ಗಳನ್ನು ಪರಸ್ಪರ ಸಂಬಂಧಿಸಲು ಸೂಕ್ತವಾಗಿದೆ ಮತ್ತು ಹಿನ್ನೆಲೆ ಅಪ್ಲಿಕೇಶನ್ಗಳು.
ಇದನ್ನು ಬಳಸಲು, ನೀವು ಕ್ಷೇತ್ರಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. process_stats_config y sys_stats_config ಒಳಗೆ DataSourceConfigಪಡೆದ ಡೇಟಾವು ಇತರ ವಿಷಯಗಳ ಜೊತೆಗೆ, CPU ಸಮಯದ ಮಾಹಿತಿ, ಮೆಮೊರಿ ಬಳಕೆ ಮತ್ತು ಸಾಧನ ಮತ್ತು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಆವೃತ್ತಿಯನ್ನು ಅವಲಂಬಿಸಿ ಬದಲಾಗಬಹುದಾದ ಇತರ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಹೀಪ್ಪ್ರೊಫ್ನೊಂದಿಗೆ ಸ್ಥಳೀಯ ಮೆಮೊರಿ ಪ್ರೊಫೈಲ್ಗಳು
heapprofd ಸ್ಥಳೀಯ ಸ್ಮರಣೆಯ ಬಳಕೆಯನ್ನು ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾದಾಗ ಇದು ಪ್ರಮುಖ ಅಂಶವಾಗಿದೆ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ಸಿಸ್ಟಮ್ ಸೇವೆಗಳ. ಇದು ಸ್ಯಾಂಪ್ಲಿಂಗ್ ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಕೋಡ್ನ ಯಾವ ಭಾಗಗಳು ಮೆಮೊರಿಯನ್ನು ಕಾಯ್ದಿರಿಸುತ್ತಿವೆ ಎಂಬುದನ್ನು ಸೂಚಿಸುವ ಪ್ರೊಫೈಲ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
ಬೆಳಕಿಗೆ heapprofd ಪರ್ಫೆಟ್ಟೊದ ಕುರುಹುಗಳಲ್ಲಿ ನೀವು ವಿಭಾಗವನ್ನು ಭರ್ತಿ ಮಾಡಬೇಕು. heapprofd_config de DataSourceConfig. ಫಲಿತಾಂಶಗಳು ProfilePackets ಲಭ್ಯವಿರುವಾಗ ಜಾವಾ ಫ್ರೇಮ್ವರ್ಕ್ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಕಾಲ್ ಸ್ಟ್ಯಾಕ್ ಮಾಹಿತಿಯೊಂದಿಗೆ. ಸ್ಥಳೀಯ ಸೋರಿಕೆಗಳು ಅಥವಾ ಅಸಮರ್ಥ ಹಂಚಿಕೆ ಮಾದರಿಗಳನ್ನು ಬೇಟೆಯಾಡಲು ಇದು ಪ್ರಬಲ ಮಾರ್ಗವಾಗಿದೆ.
ಸಾರ್ವಜನಿಕ ದಸ್ತಾವೇಜನ್ನು perfetto.dev ಈ ಪ್ರೊಫೈಲ್ಗಳನ್ನು ಹೇಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು, ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಗಳ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡುವುದು, ಮಾದರಿ ಆವರ್ತನವನ್ನು ಸರಿಹೊಂದಿಸುವುದು ಇತ್ಯಾದಿಗಳನ್ನು ಇದು ಪರಿಶೀಲಿಸುತ್ತದೆ, ಇದು ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ವಿವರಗಳ ಮಟ್ಟಕ್ಕೆ ಉಪಕರಣದ ವೆಚ್ಚವನ್ನು ಹೊಂದಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಇತರ ಹೆಚ್ಚುವರಿ ಡೇಟಾ ಮೂಲಗಳು
ಮೇಲಿನವುಗಳ ಜೊತೆಗೆ, ಸಾಧನ ಮತ್ತು ಆಂಡ್ರಾಯ್ಡ್ ಆವೃತ್ತಿಯನ್ನು ಅವಲಂಬಿಸಿ ಹೆಚ್ಚಿನ ಮೂಲಗಳು ಲಭ್ಯವಿದೆ.ಕೆಲವು ಶಕ್ತಿಯ ಕಡೆಗೆ, ಇನ್ನು ಕೆಲವು ನೆಟ್ವರ್ಕ್ ಕಡೆಗೆ ಅಥವಾ ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟ ಫ್ರೇಮ್ವರ್ಕ್ ಮೆಟ್ರಿಕ್ಗಳ ಕಡೆಗೆ ಸಜ್ಜಾಗಿವೆ. ಅವುಗಳನ್ನು ವಿವರವಾಗಿ ನೋಡಲು, ನೀವು AOSP ನಲ್ಲಿ ಪ್ರಕಟವಾದ ಪರ್ಫೆಟ್ಟೊ ಡೇಟಾ ಮೂಲಗಳಿಗಾಗಿ ವಿಭಿನ್ನ ಸಂರಚನಾ ಯೋಜನೆಗಳನ್ನು ಪರಿಶೀಲಿಸಬೇಕಾಗುತ್ತದೆ.
ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, ಮಾದರಿಯು ಯಾವಾಗಲೂ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ.ನೀವು ಮೂಲವನ್ನು ಆರಿಸಿಕೊಳ್ಳಿ, ಅದರ ಬ್ಲಾಕ್ ಅನ್ನು ನೀವು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. DataSourceConfig ಮೂಲಮಾದರಿಯಲ್ಲಿ TraceConfig ಮತ್ತು ನೀವು ಟ್ರೇಸ್ ಅನ್ನು ಇದರೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ perfettoನಂತರ, ನೀವು ದೃಶ್ಯೀಕರಣ ಪರಿಕರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಫಲಿತಾಂಶದ ಫೈಲ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತೀರಿ.
dumpsys: ಸುಪ್ತತೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅಳೆಯಲು ಪರಿಪೂರ್ಣ ಪ್ಲಗಿನ್
ಕಡಿಮೆ ಮಟ್ಟದ ಕುರುಹುಗಳಿಗೆ ಪರ್ಫೆಟ್ಟೊ ನಕ್ಷತ್ರವಾಗಿದ್ದರೂ ಸಹಅನುಭವಿ ಸಾಧನ dumpsys ನೀವು ಉನ್ನತ ಮಟ್ಟದ ರೋಗನಿರ್ಣಯವನ್ನು ಬಯಸಿದಾಗ, ಸಿಸ್ಟಮ್ ಸೇವೆಯಿಂದ ಗುಂಪು ಮಾಡಲಾದಾಗ ಇದು ಅತ್ಯಗತ್ಯವಾಗಿರುತ್ತದೆ: ಇನ್ಪುಟ್, ಗ್ರಾಫಿಕ್ಸ್, ನೆಟ್ವರ್ಕ್, ಬ್ಯಾಟರಿ, ಮೆಮೊರಿ, ಇತ್ಯಾದಿ.
dumpsys ಇದು ಆಂಡ್ರಾಯ್ಡ್ ಸಾಧನದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಮತ್ತು ಇದನ್ನು ADB ಯಿಂದ ಆಜ್ಞೆಗಳೊಂದಿಗೆ ಆಹ್ವಾನಿಸಲಾಗುತ್ತದೆ adb shell dumpsysನೀವು ಅದನ್ನು ನಿಯತಾಂಕಗಳಿಲ್ಲದೆ ಚಲಾಯಿಸಿದರೆ, ಅದು ಎಲ್ಲಾ ಸಿಸ್ಟಮ್ ಸೇವೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ಡಂಪ್ ಮಾಡುತ್ತದೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ವಿಪರೀತವಾಗಿರುತ್ತದೆ. ನೀವು ಆಸಕ್ತಿ ಹೊಂದಿರುವ ನಿರ್ದಿಷ್ಟ ಸೇವೆಯನ್ನು ಆ ಭಾಗದ ಮೇಲೆ ಮಾತ್ರ ಕೇಂದ್ರೀಕರಿಸಲು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು ಉತ್ತಮ.
dumpsys ಆಜ್ಞೆಯ ಸಾಮಾನ್ಯ ಸಿಂಟ್ಯಾಕ್ಸ್
ಕರೆಯಲು ಸಾರ್ವತ್ರಿಕ ಮಾರ್ಗ dumpsys ಇದು:
adb shell dumpsys | -c | -h]
ಕೆಲವು ಸಾಮಾನ್ಯ ಉಪಯೋಗಗಳು ತಿನ್ನುವೆ:
adb shell dumpsys: ಎಲ್ಲಾ ಸೇವೆಗಳನ್ನು ರದ್ದುಗೊಳಿಸುತ್ತದೆ (ಬಹಳ ಮಾತಿನ).adb shell dumpsys input: ಇನ್ಪುಟ್ ಸಿಸ್ಟಮ್ ಸ್ಥಿತಿ (ಕೀಬೋರ್ಡ್ಗಳು, ಟಚ್ ಸ್ಕ್ರೀನ್ಗಳು, ಇತ್ಯಾದಿ).adb shell dumpsys -l: ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಸೇವೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ.
ಪ್ರಮುಖ ಆಜ್ಞಾ ಸಾಲಿನ ಆಯ್ಕೆಗಳಲ್ಲಿ ಎದ್ದು:
-t timeout: ಗರಿಷ್ಠ ಸಮಯವನ್ನು ಸೆಕೆಂಡುಗಳಲ್ಲಿ ನೀಡಲಾಗಿದೆdumpsysಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು (ಡೀಫಾಲ್ಟ್, 10ಸೆ).--help: ಸಾರ್ವತ್ರಿಕ ಸಾಧನ ಸಹಾಯ.-l: ಸಿಸ್ಟಮ್ ಸೇವೆಗಳ ಪಟ್ಟಿ.--skip services: ನೀವು ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಸೇವೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದಾಗ ಔಟ್ಪುಟ್ನಿಂದ ಹೊರಗಿಡಲು ಬಯಸುವ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸೇವೆಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ.serviceನೀವು ಪರಿಶೀಲಿಸಲು ಬಯಸುವ ನಿರ್ದಿಷ್ಟ ಸೇವೆಯನ್ನು ಐಚ್ಛಿಕ ವಾದಗಳೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ನಿಮಗೆ ಖಚಿತವಿಲ್ಲದಿದ್ದರೆ, ಅನೇಕ ಸೇವೆಗಳು ಸ್ವೀಕರಿಸುತ್ತವೆ-hಉದಾಹರಣೆಗೆ, ತಮ್ಮದೇ ಆದ ಸಹಾಯವನ್ನು ತೋರಿಸಲುadb shell dumpsys procstats -h.-c: ಕೆಲವು ಸೇವೆಗಳು ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಅಥವಾ ಪರಿಕರಗಳ ಬಳಕೆಗೆ ಹೆಚ್ಚು ಸೂಕ್ತವಾದ ಸ್ವರೂಪದಲ್ಲಿ ಡೇಟಾವನ್ನು ಹಿಂತಿರುಗಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ.-h: ಕೆಲವು ಸೇವೆಗಳಲ್ಲಿ, ನಿರ್ದಿಷ್ಟ ಹೆಚ್ಚುವರಿ ಸಹಾಯವನ್ನು ಮುದ್ರಿಸಿ.
ಇನ್ಪುಟ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್: ಸ್ಪರ್ಶಗಳು, ಕೀಸ್ಟ್ರೋಕ್ಗಳು ಮತ್ತು ಈವೆಂಟ್ ಲೇಟೆನ್ಸಿಗಳು
ಸ್ಪರ್ಶ ಅಥವಾ ಕೀಬೋರ್ಡ್ ಇನ್ಪುಟ್ಗೆ ಸಂಬಂಧಿಸಿದ ವಿಳಂಬ ಸಮಸ್ಯೆಗಳಿಗೆಪ್ರಮುಖ ಸೇವೆ ಎಂದರೆ input. ಜೊತೆ adb shell dumpsys input ಇನ್ಪುಟ್ ಸಾಧನಗಳ ಸ್ಥಿತಿ ಮತ್ತು ಅವು ಜನರೇಟ್ ಆದ ಕ್ಷಣದಿಂದ ಅವು ವಿಂಡೋಗಳನ್ನು ತಲುಪುವವರೆಗಿನ ಈವೆಂಟ್ಗಳ ಹರಿವಿನ ಡಂಪ್ ಅನ್ನು ನೀವು ಪಡೆಯುತ್ತೀರಿ.
ಔಟ್ಪುಟ್ ಮೂರು ಪ್ರಮುಖ ಲಾಜಿಕ್ ಬ್ಲಾಕ್ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.: ಈವೆಂಟ್ ಹಬ್ನ ಸ್ಥಿತಿ, ಸ್ಥಿತಿ InputReader ಮತ್ತು ಸ್ಥಿತಿ InputDispatcherಪ್ರತಿಯೊಂದೂ ಈವೆಂಟ್ನ ಪ್ರಯಾಣದ ಒಂದು ಭಾಗದಲ್ಲಿನ ನ್ಯೂನತೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಈವೆಂಟ್ ಹಬ್: ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು ಮತ್ತು ಅವುಗಳ ಸಂರಚನೆ
"ಈವೆಂಟ್ ಹಬ್ ಸ್ಟೇಟ್" ವ್ಯವಸ್ಥೆಗೆ ತಿಳಿದಿರುವ ಎಲ್ಲಾ ಇನ್ಪುಟ್ ಸಾಧನಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ., ಸಾಧನ ಮಾರ್ಗ, ವರ್ಗ, ಕೀಲೇಔಟ್ ಫೈಲ್ಗಳು, ಕೀಚಾರ್ಗಳು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ನಂತಹ ಮಾಹಿತಿಯೊಂದಿಗೆ, ಹಾಗೆಯೇ ಅಂತರ್ನಿರ್ಮಿತ ಕೀಬೋರ್ಡ್ ಗುರುತಿಸುವಿಕೆ (BuiltInKeyboardId).
ಈ ವಿಭಾಗವನ್ನು ಪರಿಶೀಲಿಸುವಾಗ, ಪರಿಶೀಲಿಸುವುದು ಸೂಕ್ತ:
- ಎಲ್ಲಾ ನಿರೀಕ್ಷಿತ ಭೌತಿಕ ಸಾಧನಗಳನ್ನು ಸರಿಯಾಗಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ.
- ಪ್ರತಿಯೊಂದು ಕೀಲಿಯು ತನ್ನದೇ ಆದ ನಿಯೋಜಿಸಲಾದ ಕೀ ಲೇಔಟ್ ಫೈಲ್, ಅಕ್ಷರ ನಕ್ಷೆ ಮತ್ತು ಸಂರಚನಾ ಫೈಲ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ; ಇವು ಕಾಣೆಯಾಗಿದ್ದರೆ ಅಥವಾ ಸಿಂಟ್ಯಾಕ್ಸ್ ದೋಷಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಅವು ಲೋಡ್ ಆಗುವುದಿಲ್ಲ ಮತ್ತು ಇನ್ಪುಟ್ ಅನುಭವವು ಹಾನಿಯಾಗುತ್ತದೆ.
- ಆ ಕ್ಷೇತ್ರ
Classesಸೂಕ್ತವಾದ ಬಿಟ್ಗಳನ್ನು ಸ್ಥಿರಾಂಕಗಳಿಗೆ ಮ್ಯಾಪ್ ಮಾಡಲಾಗಿದೆ, ಉದಾಹರಣೆಗೆINPUT_DEVICE_CLASS_TOUCH_MTenEventHub.h. - ಅದು
BuiltInKeyboardIdಸಮುದ್ರ-2ಸಂಯೋಜಿತ ಕೀಬೋರ್ಡ್ ಇಲ್ಲದಿದ್ದಾಗ, ಅಥವಾ ಆಂತರಿಕ ಕೀಬೋರ್ಡ್ ID ಯನ್ನು ಹೊಂದಿಸಿ ಇಲ್ಲದಿದ್ದರೆ. ಅದು ಅಲ್ಲ ಎಂದು ನೀವು ನೋಡಿದರೆ-2ಮತ್ತು ಅದು ಹೀಗಿರಬೇಕು; ಕೆಲವು ಫಂಕ್ಷನ್ ಕೀಪ್ಯಾಡ್ಗಾಗಿ ವಿಶೇಷ ಅಕ್ಷರ ನಕ್ಷೆ ಕಾಣೆಯಾಗಿರಬಹುದು, ಅದು ಮಾತ್ರ ಹೊಂದಿರಬೇಕುtype SPECIAL_FUNCTION.
ಇನ್ಪುಟ್ ರೀಡರ್: ಇನ್ಪುಟ್ ಈವೆಂಟ್ಗಳನ್ನು ಹೇಗೆ ಅರ್ಥೈಸಲಾಗುತ್ತದೆ
InputReader ಇದು ಕೆಳಮಟ್ಟದ ಕರ್ನಲ್ ಈವೆಂಟ್ಗಳನ್ನು "ಅನುವಾದಿಸುವ" ಜವಾಬ್ದಾರಿಯನ್ನು ಹೊಂದಿದೆ. ಫ್ರೇಮ್ವರ್ಕ್ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದಾದ ವಿಷಯಕ್ಕೆ: ಸ್ಪರ್ಶ ನಿರ್ದೇಶಾಂಕಗಳು, ಒತ್ತಡ, ಸ್ಪರ್ಶ ಗಾತ್ರ, ಇತ್ಯಾದಿ. ಅದರ ಡಂಪ್ನಲ್ಲಿ, ನೀವು ಪ್ರತಿ ಸಾಧನದ ವಿವರವಾದ ಸಂರಚನೆಯನ್ನು (ಉದಾಹರಣೆಗೆ, ನಿರ್ದಿಷ್ಟ ಟಚ್ಸ್ಕ್ರೀನ್) ಮತ್ತು ನಿರ್ವಹಿಸಲಾದ ಇತ್ತೀಚಿನ ಕ್ರಿಯೆಗಳನ್ನು ನೋಡುತ್ತೀರಿ.
ಟಚ್ಸ್ಕ್ರೀನ್ಗಳ ಸಂದರ್ಭದಲ್ಲಿ, ಪರಿಶೀಲಿಸುವುದು ಬಹಳ ಮುಖ್ಯ:
- X ಮತ್ತು Y ಶ್ರೇಣಿಗಳು (ಕನಿಷ್ಠ, ಗರಿಷ್ಠ, ನಿಖರತೆ, ಸಹಿಷ್ಣುತೆಗಳು).
- ಮಾಪನಾಂಕ ನಿರ್ಣಯ ನಿಯತಾಂಕಗಳು (ಗಾತ್ರದ ಮಾಪಕಗಳು, ಒತ್ತಡ, ದೃಷ್ಟಿಕೋನ, ಇತ್ಯಾದಿ).
- ಮೇಲ್ಮೈ ಗಾತ್ರ (ಪಿಕ್ಸೆಲ್ಗಳಲ್ಲಿ ಅಗಲ ಮತ್ತು ಎತ್ತರ).
- ಅನುವಾದ ಮತ್ತು ಸ್ಕೇಲಿಂಗ್ ಅಂಶಗಳು, ಇದು ಕಚ್ಚಾ ನಿರ್ದೇಶಾಂಕಗಳನ್ನು ಪರದೆಯ ಸ್ಥಳಕ್ಕೆ ಹೇಗೆ ಮ್ಯಾಪ್ ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಈ ವಿಭಾಗದ ಕೊನೆಯಲ್ಲಿ ಜಾಗತಿಕ ನಿಯತಾಂಕಗಳನ್ನು ಸಹ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ. ಟ್ಯಾಪ್ ಮಧ್ಯಂತರ, ಪಾಯಿಂಟರ್ ವೇಗ ಮಿತಿಗಳು ಅಥವಾ ಗೆಸ್ಚರ್ ಸೆಟ್ಟಿಂಗ್ಗಳು (ಡಬಲ್ ಟ್ಯಾಪ್ ಸಮಯ, ಕನಿಷ್ಠ ದೂರ, ಇತ್ಯಾದಿ), ಇದು ದ್ರವತೆಯ ಭಾವನೆಯನ್ನು ನೇರವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.
ಇನ್ಪುಟ್ಡಿಸ್ಪ್ಯಾಚರ್: ವಿಂಡೋಸ್ ಮತ್ತು ANR ಗೆ ಈವೆಂಟ್ಗಳನ್ನು ಕಳುಹಿಸುವುದು
InputDispatcher ಇದು ವಿವಿಧ ವಿಂಡೋಗಳಿಗೆ ಒಳಬರುವ ಈವೆಂಟ್ಗಳನ್ನು ಕಳುಹಿಸುವುದನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.ಇದರ ಸ್ಥಿತಿಯು ಯಾವ ವಿಂಡೋ ಫೋಕಸ್ನಲ್ಲಿದೆ, ಯಾವುದು ಸ್ಪರ್ಶ-ಸೂಕ್ಷ್ಮವಾಗಿದೆ, ಇನ್ಪುಟ್ ಕ್ಯೂಗಳ ಸ್ಥಿತಿ ಮತ್ತು ANR (ಅಪ್ಲಿಕೇಶನ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿಲ್ಲ) ಪ್ರಗತಿಯಲ್ಲಿದೆಯೇ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.
ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಈ ವಿಭಾಗವು ನಿಮಗೆ ಪರಿಶೀಲಿಸಲು ಅನುಮತಿಸುತ್ತದೆ:
- ಟ್ಯಾಪ್ ಮಾಡುವ ಸಮಯದಲ್ಲಿ ಯಾವ ವಿಂಡೋ ಟ್ಯಾಪ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತಿತ್ತು?
dumpsys. - ಬಾಕಿ ಇರುವ ಈವೆಂಟ್ಗಳು ಅಥವಾ ನಿರ್ಬಂಧಿಸಲಾದ ಸರತಿ ಸಾಲುಗಳು ಇದ್ದರೆ ಅದು ಗ್ರಹಿಸಿದ ವಿಳಂಬವನ್ನು ಹೆಚ್ಚಿಸುತ್ತಿರಬಹುದು.
- ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ವಿವಿಧ ವಿಂಡೋಗಳಲ್ಲಿ ಹೇಗೆ ವಿತರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಯಾವುದಾದರೂ ಅವುಗಳ ಸರದಿಯನ್ನು ಸ್ಯಾಚುರೇಟ್ ಮಾಡುತ್ತಿದೆಯೇ.
ಸರಳ ಆದರೆ ಬಹಳ ಬಹಿರಂಗಪಡಿಸುವ ಪರಿಶೀಲನೆ ಇದು ಪರದೆಯ ಸ್ಪರ್ಶ ಅಷ್ಟೆ, ತಕ್ಷಣ ಅದನ್ನು ಪ್ರಾರಂಭಿಸಿ. adb shell dumpsys input ಮತ್ತು ನೋಡಿ ಸಾಲು TouchStates ನೀವು ಸ್ಪರ್ಶಿಸಿದ ವಿಂಡೋವನ್ನು ಸರಿಯಾಗಿ ಗುರುತಿಸಿ. ಇಲ್ಲದಿದ್ದರೆ, ಫೋಕಸ್ ನಿರ್ವಹಣೆ ಅಥವಾ ಸ್ಪರ್ಶ ಪ್ರದೇಶ ಮ್ಯಾಪಿಂಗ್ನಲ್ಲಿ ಏನೋ ದೋಷವಿದೆ.
gfxinfo ಮತ್ತು framesstats ನೊಂದಿಗೆ UI ಕಾರ್ಯಕ್ಷಮತೆ ಮಾಪನ
ಅನಿಮೇಷನ್ಗಳು ಮತ್ತು ಸ್ಕ್ರೋಲಿಂಗ್ನಲ್ಲಿ ಜಂಕ್ ಮುಖ್ಯ ಕಾಳಜಿಯಾಗಿದ್ದಾಗ, ಸೇವೆ gfxinfo ಅವನು ನಿನ್ನ ಸ್ನೇಹಿತ. ಮೂಲಕ dumpsys gfxinfo ನಿರ್ದಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್ಗಾಗಿ ರೆಂಡರ್ ಮಾಡಲಾದ ಫ್ರೇಮ್ಗಳ ಕುರಿತು ನೀವು ಡೇಟಾವನ್ನು ಪಡೆಯಬಹುದು.
ನಿರ್ದಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಮೂಲ ಆಜ್ಞೆ ಇದು:
adb shell dumpsys gfxinfo package-name
ನೀವು ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಿದರೆ framestatsರೋಗನಿರ್ಣಯವು ಇನ್ನಷ್ಟು ವಿವರವಾಗುತ್ತದೆ:
adb shell dumpsys gfxinfo package-name framestats
ಇದು ನಿಮಗೆ ಫ್ರೇಮ್-ಬೈ-ಫ್ರೇಮ್ ಲೇಟೆನ್ಸಿ ಅಂಕಿಅಂಶಗಳನ್ನು ನೀಡುತ್ತದೆ. ಇತ್ತೀಚಿನ ಅನಿಮೇಷನ್ಗಳ ಈ ಡೇಟಾವು ಸಮಯದ ಏರಿಕೆಗಳನ್ನು ರೆಂಡರಿಂಗ್ ಮಾಡುವ ನಿರ್ದಿಷ್ಟ ಪರಿವರ್ತನೆಗಳು ಅಥವಾ ಪರದೆಗಳನ್ನು ಗುರುತಿಸುವಲ್ಲಿ ಬಹಳ ಸಹಾಯಕವಾಗಿದೆ. ನಂತರ ಈ ಮಾಹಿತಿಯನ್ನು ಅಪ್ಲಿಕೇಶನ್ ಆವೃತ್ತಿಗಳ ನಡುವಿನ ಹಿಂಜರಿತಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆಗಳು ಅಥವಾ ಮ್ಯಾಕ್ರೋಬೆಂಚ್ಮಾರ್ಕ್ಗಳಲ್ಲಿ ಸಂಯೋಜಿಸಬಹುದು.
ಡಂಪ್ಸಿಸ್ ನೆಟ್ಸ್ಟ್ಯಾಟ್ಗಳೊಂದಿಗೆ ನೆಟ್ವರ್ಕ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್
UI ವಿಳಂಬವು ನಿಧಾನಗತಿಯ ನೆಟ್ವರ್ಕ್ ಅಥವಾ ಟ್ರಾಫಿಕ್ ಸ್ಪೈಕ್ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದೆಯೇ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಸೇವೆ netstats ಇದು ತುಂಬಾ ಉಪಯುಕ್ತವಾಗಿದೆ. ಸಾಧನವನ್ನು ಆನ್ ಮಾಡಿದ ಕ್ಷಣದಿಂದಲೇ ಇದು ನೆಟ್ವರ್ಕ್ ಬಳಕೆಯ ಅಂಕಿಅಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.
ವಿಶಿಷ್ಟ ಆಜ್ಞೆಯನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ಇದು:
adb shell dumpsys netstats detail
ನಿರ್ಗಮನವನ್ನು ಹಲವಾರು ವಿಭಾಗಗಳಾಗಿ ಆಯೋಜಿಸಲಾಗಿದೆ.:
- ಸಕ್ರಿಯ ಇಂಟರ್ಫೇಸ್ಗಳು ಮತ್ತು ಸಕ್ರಿಯ UID ಇಂಟರ್ಫೇಸ್ಗಳು, ಅಲ್ಲಿ ಹೆಸರುಗಳು ಹಾಗೆ
wlan0ಮತ್ತು ಅದರ ನೆಟ್ವರ್ಕ್ ಗುರುತಿಸುವಿಕೆ. - "Dev" ಮತ್ತು "Xt" ಅಂಕಿಅಂಶಗಳು, ಇದು ಸಮಯದ ಬಕೆಟ್ಗಳೊಂದಿಗೆ ಐತಿಹಾಸಿಕ ಡೇಟಾವನ್ನು ತೋರಿಸುತ್ತದೆ (ಉದಾ., ಒಂದು ಗಂಟೆಯ ಏರಿಕೆಗಳಲ್ಲಿ) ಮತ್ತು ಸ್ವೀಕರಿಸಿದ ಬೈಟ್ಗಳಂತಹ ಕ್ಷೇತ್ರಗಳು (
rb), ಸ್ವೀಕರಿಸಿದ ಪ್ಯಾಕೇಜ್ಗಳು (rp), ರವಾನೆಯಾದ ಬೈಟ್ಗಳು (tb), ಇತ್ಯಾದಿ. - UID ಯ ಅಂಕಿಅಂಶಗಳು, ಅಲ್ಲಿ ನೀವು ನಿರ್ದಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್ನ ನೆಟ್ವರ್ಕ್ ಬಳಕೆಯನ್ನು ವಿಭಜಿಸಬಹುದು, ಮೊಬೈಲ್ ಮತ್ತು ವೈ-ಫೈ ನಡುವೆ ವ್ಯತ್ಯಾಸವನ್ನು ಗುರುತಿಸಬಹುದು.
ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ UID ಯನ್ನು ಕಂಡುಹಿಡಿಯಲುಈ ರೀತಿಯದ್ದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ:
adb shell dumpsys package your-package-name | grep userId
ಒಮ್ಮೆ ನೀವು ಇದರ ಮೌಲ್ಯವನ್ನು ತಿಳಿದರೆ userId, ನೀವು ನಿರ್ಗಮನವನ್ನು ನೋಡಬಹುದು netstats ಸಾಲುಗಳು uid=ese_valor ಮತ್ತು ಉದಾಹರಣೆಗೆ, ಪ್ರತಿ ಎರಡು ಗಂಟೆಗಳ ಅವಧಿಯಲ್ಲಿ ಅದು ಎಷ್ಟು ಬೈಟ್ಗಳು ಮತ್ತು ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಬಳಸಿದೆ ಮತ್ತು ಅದು ಮುಂಭಾಗದಲ್ಲಿದೆಯೇ ಎಂದು ನೋಡಿ (set=DEFAULT) ಅಥವಾ ಹಿನ್ನೆಲೆಯಲ್ಲಿ (set=BACKGROUND).
ಬ್ಯಾಟರಿ ಅಂಕಿಅಂಶಗಳೊಂದಿಗೆ ಬ್ಯಾಟರಿ ಮತ್ತು ಶಕ್ತಿಯ ಬಳಕೆ
ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯೊಂದಿಗೆ ಸುಪ್ತತೆ ಮತ್ತು ಜಂಕ್ ಅನ್ನು ಸರಿಪಡಿಸಲಾಗಿಲ್ಲ.ಕೆಲವೊಮ್ಮೆ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳು ಶಕ್ತಿಯ ಬಳಕೆಯ ಮೇಲೆ ಹೇಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತವೆ ಎಂಬುದನ್ನು ನೋಡುವುದು ಯೋಗ್ಯವಾಗಿದೆ. dumpsys batterystats ಇದು ಯುಐಡಿ ಮತ್ತು ಘಟಕದ ಮೂಲಕ ಬ್ಯಾಟರಿ ಬಳಕೆಯ ಕುರಿತು ಬಹಳ ಸಮಗ್ರ ವರದಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಈ ಸೇವೆಗೆ ಮೂಲ ಆಜ್ಞೆ ಇದು:
adb shell dumpsys batterystats options
ಕೊನೆಯ ಅಪ್ಲೋಡ್ನಿಂದ ನೀವು ನಿರ್ದಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್ನತ್ತ ಗಮನಹರಿಸಲು ಬಯಸಿದರೆಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ:
adb shell dumpsys batterystats --charged package-name
ಸಾಮಾನ್ಯ ನಿರ್ಗಮನವು ಒಳಗೊಂಡಿದೆ:
- ಬ್ಯಾಟರಿ ಸಂಬಂಧಿತ ಈವೆಂಟ್ ಇತಿಹಾಸ.
- ಜಾಗತಿಕ ಸಾಧನ ಅಂಕಿಅಂಶಗಳು.
- ಯುಐಡಿ ಮತ್ತು ಸಿಸ್ಟಮ್ ಘಟಕಗಳ ಮೂಲಕ ಶಕ್ತಿಯ ಬಳಕೆಯ ಅಂದಾಜುಗಳು.
- ಪ್ರತಿ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಪ್ಯಾಕೇಜ್ಗೆ ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ಬಳಕೆಯ ಸಮಯ.
- ಸಿಸ್ಟಮ್ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಯುಐಡಿಗಳ ಜಾಗತಿಕ ಅಂಕಿಅಂಶಗಳು.
ಸ್ವಯಂಚಾಲಿತ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಚೆಕ್-ಇನ್ ಸ್ವರೂಪ (CSV)
ನೀವು ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಅಥವಾ ಬಾಹ್ಯ ಪರಿಕರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಬ್ಯಾಟರಿ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬೇಕಾದರೆನೀವು "ಯಂತ್ರ ಸ್ನೇಹಿ" ಔಟ್ಪುಟ್ ಅನ್ನು ಇದರೊಂದಿಗೆ ಉತ್ಪಾದಿಸಬಹುದು:
adb shell dumpsys batterystats --checkin
ಈ ಸ್ವರೂಪವು ಪ್ರತಿಯೊಂದು ವೀಕ್ಷಣೆಯನ್ನು CSV ಸಾಲಿನಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸುತ್ತದೆ.ಇತರ ಕ್ಷೇತ್ರಗಳನ್ನು ಹೇಗೆ ಅರ್ಥೈಸಿಕೊಳ್ಳಬೇಕೆಂದು ನಿರ್ಧರಿಸುವ ವಿಭಾಗ ಗುರುತಿಸುವಿಕೆಯೊಂದಿಗೆ. ವಿಭಾಗಗಳ ಕೆಲವು ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ:
vers: ಚೆಕ್-ಇನ್, ಪಾರ್ಸೆಲ್ ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಆವೃತ್ತಿಗಳು.uid: UID - ಪ್ಯಾಕೇಜ್ ಹೆಸರು ಸಂಬಂಧ.apk,pr,sr,vib,fgಇತ್ಯಾದಿ: ಪ್ರಕ್ರಿಯೆಗಳ ಬಳಕೆ, ಸಂವೇದಕಗಳು, ವೈಬ್ರೇಟರ್, ಮುನ್ನೆಲೆ ಸಮಯ, ಸಿಂಕ್ರೊನೈಸೇಶನ್ಗಳು, ಕೆಲಸಗಳು, ಇತ್ಯಾದಿ.ntygn: ನೆಟ್ವರ್ಕ್ ಅಂಕಿಅಂಶಗಳು (ಬೈಟ್ಗಳು ಮತ್ತು ಮೊಬೈಲ್/ವೈ-ಫೈ ಪ್ಯಾಕೆಟ್ಗಳು, ಅಪ್ಟೈಮ್, ಇತ್ಯಾದಿ).bt,dc,lvಸಮಯಗಳು, ಮಟ್ಟಗಳು ಮತ್ತು ಡಿಸ್ಚಾರ್ಜ್ಗಳಂತಹ ಬ್ಯಾಟರಿ ಡೇಟಾ.wfl,gwfl,gble: mAh ನಲ್ಲಿ ಸಮಯ ಮತ್ತು ಅಂದಾಜು ಬಳಕೆ ಸೇರಿದಂತೆ ನಿರ್ದಿಷ್ಟ Wi-Fi ಮತ್ತು ಬ್ಲೂಟೂತ್ ಮಾಹಿತಿ.
Android ನ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಗಳಲ್ಲಿ (6.0 ಮತ್ತು ಹೆಚ್ಚಿನದು)ವೈ-ಫೈ, ಮೊಬೈಲ್ ರೇಡಿಯೋ ಮತ್ತು ಬ್ಲೂಟೂತ್ನ ಶಕ್ತಿಯ ಬಳಕೆಯನ್ನು ಅಂಶಗಳಾಗಿ ವರದಿ ಮಾಡಲಾಗಿದೆ pwi ಮೀಸಲಾದ ಲೇಬಲ್ಗಳೊಂದಿಗೆ (wifi, blue, cell), ಹಳೆಯ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಇದನ್ನು ವಿಭಾಗದಲ್ಲಿ ಗುಂಪು ಮಾಡಲಾಗಿದೆ m (ವಿವಿಧ).
ಪ್ರೊಕ್ಸ್ಟ್ಯಾಟ್ಗಳೊಂದಿಗೆ ಕಾಲಾನಂತರದಲ್ಲಿ ಮೆಮೊರಿ ಪರಿಶೀಲನೆ
ಮೆಮೊರಿ ಸೋರಿಕೆ ಅಥವಾ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಭಾರೀ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಂದ ಜಂಕ್ ಬರುತ್ತಿದೆ ಎಂದು ನೀವು ಅನುಮಾನಿಸಿದರೆ, dumpsys procstats ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕಾಲಾನಂತರದಲ್ಲಿ ಹೇಗೆ ವರ್ತಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ: ಅದು ಎಷ್ಟು ಸಮಯದಿಂದ ಸಕ್ರಿಯವಾಗಿದೆ, ಯಾವ ಸ್ಥಿತಿಯಲ್ಲಿದೆ ಮತ್ತು ಯಾವ ಮೆಮೊರಿ ಬಳಕೆಯೊಂದಿಗೆ.
ಕಳೆದ ಕೆಲವು ಗಂಟೆಗಳಿಂದ ಅಂಕಿಅಂಶಗಳನ್ನು ವಿನಂತಿಸುವುದು ಒಂದು ವಿಶಿಷ್ಟ ಬಳಕೆಯಾಗಿದೆ., ಉದಾಹರಣೆಗೆ:
adb shell dumpsys procstats --hours 3
ಪ್ರತಿ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಔಟ್ಪುಟ್ ಸಾರಾಂಶವಾಗಿದೆ. ಪ್ರಕ್ರಿಯೆಯು ಜೀವಂತವಾಗಿರುವ ಸಮಯದ ಶೇಕಡಾವಾರು, ಕನಿಷ್ಠ, ಸರಾಸರಿ ಮತ್ತು ಗರಿಷ್ಠ ರೂಪದಲ್ಲಿ PSS, USS ಮತ್ತು RSS ಮೌಲ್ಯಗಳೊಂದಿಗೆ, ತೆಗೆದುಕೊಂಡ ಮಾದರಿಗಳ ಸಂಖ್ಯೆಯೊಂದಿಗೆ. ಇದು ಪ್ರಕ್ರಿಯೆಯ ಪ್ರಕಾರದ ಮೂಲಕ ಮೆಮೊರಿ ಸಾರಾಂಶವನ್ನು ಸಹ ತೋರಿಸುತ್ತದೆ (ಕರ್ನಲ್, ಸ್ಥಳೀಯ, ನಿರಂತರ, ಟಾಪ್, ಸೇವೆಗಳು, ಕ್ಯಾಶ್ ಮಾಡಿದ ಪ್ರಕ್ರಿಯೆಗಳು, ಇತ್ಯಾದಿ).
ಈ ಒಟ್ಟುಗೂಡಿಸಿದ ನೋಟವು ಮಾದರಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಹಿನ್ನೆಲೆ ಸ್ಥಿತಿಗಳಲ್ಲಿ ದೀರ್ಘಕಾಲ ಉಳಿಯುವ ಅಥವಾ ಅತಿ ಹೆಚ್ಚು ಸರಾಸರಿ ಅಥವಾ ಗರಿಷ್ಠ PSS ಅನ್ನು ಕಾಯ್ದುಕೊಳ್ಳುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಆಪ್ಟಿಮೈಸೇಶನ್ಗೆ ಸಂಭಾವ್ಯ ಅಭ್ಯರ್ಥಿಗಳಾಗಿವೆ ಅಥವಾ ಸಿಸ್ಟಮ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕುಗ್ಗಿಸುವ ಮೆಮೊರಿ ಒತ್ತಡವನ್ನು ಉಂಟುಮಾಡಬಹುದು.
meminfo ಜೊತೆ ವಿವರವಾದ ಮೆಮೊರಿ ಸ್ನ್ಯಾಪ್ಶಾಟ್
ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಯ ಮೆಮೊರಿ ಬಳಕೆಯ ಅತ್ಯಂತ ಸೂಕ್ಷ್ಮವಾದ ಸ್ನ್ಯಾಪ್ಶಾಟ್ ನಿಮಗೆ ಬೇಕಾದಾಗಉಪಕರಣವು dumpsys meminfoಇದರೊಂದಿಗೆ ನೀವು ಸ್ಥಳೀಯ ಹೀಪ್ಗಳು, ಡಾಲ್ವಿಕ್/ಆರ್ಟಿ, ಕೋಡ್ ನಕ್ಷೆಗಳು, ಗ್ರಾಫಿಕ್ಸ್ ಬಫರ್ಗಳು ಇತ್ಯಾದಿಗಳಲ್ಲಿ RAM ಅನ್ನು ಹೇಗೆ ವಿತರಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಬಹುದು.
ಮೂಲ ಸಿಂಟ್ಯಾಕ್ಸ್ ಆಗಿದೆ:
adb shell dumpsys meminfo package_name|pid
ಆಯ್ಕೆ -d ಡಾಲ್ವಿಕ್/ಆರ್ಟಿ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿದೊಡ್ಡ ವಸ್ತುಗಳಿಗೆ ಸ್ಥಳದಂತಹ ಆಂತರಿಕ ವಿವರಗಳನ್ನು ತೋರಿಸುತ್ತದೆ (.LOS), GC ಓವರ್ಲೋಡ್, JIT ಕ್ಯಾಶ್, ಜೈಗೋಟ್ ಸ್ಪೇಸ್, ಇತ್ಯಾದಿ. -h ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಧ್ವಜಗಳನ್ನು ನೀವು ನೋಡಬಹುದು.
ಗಮನಿಸಬೇಕಾದ ಪ್ರಮುಖ ಕಾಲಮ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ Pss Total y Private Dirtyಈ ಅಂಕಿಅಂಶಗಳು ಕ್ರಮವಾಗಿ, ಹಂಚಿಕೆಯಿಂದ ಸರಿಹೊಂದಿಸಲಾದ RAM ಬಳಕೆ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯ ಮುಕ್ತಾಯದ ನಂತರ ಮಾತ್ರ ಮುಕ್ತವಾಗುವ ಮಾರ್ಪಡಿಸಿದ ಖಾಸಗಿ ಮೆಮೊರಿಯ ಪ್ರಮಾಣವನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತವೆ. ಕೆಲವೊಮ್ಮೆ ಅವು ಆಸಕ್ತಿದಾಯಕವೂ ಆಗಿರುತ್ತವೆ. Private Clean y Heap Allocನೀವು ಅಸಹಜ ಸೇವನೆಯನ್ನು ಪತ್ತೆ ಮಾಡಿದರೆ, ಹೇಗೆ ಎಂದು ಪರಿಶೀಲಿಸಿ RAM ಅನ್ನು ಮುಕ್ತಗೊಳಿಸಿ ಅವುಗಳನ್ನು ತಗ್ಗಿಸಲು.
ಕೋಷ್ಟಕದಲ್ಲಿ ಕೆಲವು ಸಂಬಂಧಿತ ವರ್ಗಗಳು:
Native HeapyDalvik Heap: ಸ್ಥಳೀಯ ಮತ್ತು VM ಹೀಪ್ ಮೆಮೊರಿ ಬಳಕೆ.Heap Allocಹಂಚಿಕೆದಾರರು ಏನನ್ನು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ ಎಂದು ನಂಬುತ್ತಾರೆ ಎಂಬುದನ್ನು ಇದು ತೋರಿಸುತ್ತದೆ, ಇದು ಜೈಗೋಟ್ ಪರಿಣಾಮ ಮತ್ತು ಹಂಚಿಕೆಯ ಮೆಮೊರಿಯಿಂದಾಗಿ PSS ಗಿಂತ ಹೆಚ್ಚಾಗಿರಬಹುದು..so mmap,.dex mmap,.oat mmapy.art mmap: ART ಚಿತ್ರಗಳು ಮತ್ತು ಅವುಗಳ ಹಂಚಿಕೆಯ ಸ್ಥಳಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಸ್ಥಳೀಯ ಕೋಡ್ ಮತ್ತು ಬೈಟ್ಕೋಡ್ ಬಳಸುವ RAM..Heap,.LOS,.GC,.JITCache,.Zygote,.NonMoving,.IndirectRef(ಜೊತೆ-d): ART ನಿರ್ವಹಿಸುವ ಮೆಮೊರಿಯ ಆಂತರಿಕ ಬಳಕೆಯನ್ನು ಮತ್ತಷ್ಟು ವಿಭಜಿಸುತ್ತದೆ.Unknown: ಹಿಂದಿನ ವರ್ಗಗಳಾಗಿ ವರ್ಗೀಕರಿಸಲಾಗದ ಪುಟಗಳು, ಸಾಮಾನ್ಯವಾಗಿ ASLR ಮೂಲಕ ವೀಕ್ಷಿಸಲಾದ ಸ್ಥಳೀಯ ಕಾರ್ಯಯೋಜನೆಗಳು.
TOTAL ಸಾಲು ಪ್ರಕ್ರಿಯೆಯ ಒಟ್ಟು PSS ಅನ್ನು ಗುಂಪು ಮಾಡುತ್ತದೆ.ಇದನ್ನು ಇತರ ಪ್ರಕ್ರಿಯೆಗಳ PSS ಮತ್ತು ಲಭ್ಯವಿರುವ RAM ಗೆ ಹೋಲಿಸಬಹುದು. Private Dirty + Private Clean ಪ್ರಕ್ರಿಯೆಯು ಕೊನೆಗೊಂಡಾಗ ಬಿಡುಗಡೆಯಾಗುವ ಸ್ಮರಣೆಯನ್ನು ಅವು ಸೂಚಿಸುತ್ತವೆ.
ಹೆಚ್ಚುವರಿಯಾಗಿ, ಉನ್ನತ ಮಟ್ಟದ ವಸ್ತು ಕೌಂಟರ್ಗಳನ್ನು ವರದಿಯ ಕೊನೆಯಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ. ಹಲವಾರು ViewRootImpl, AppContexts o Activitiesಇದು ಸ್ಥಿರ ಉಲ್ಲೇಖಗಳು ಅಥವಾ ಅವುಗಳನ್ನು ಸೂಚಿಸುವುದನ್ನು ಮುಂದುವರಿಸುವ ವೀಕ್ಷಣೆಗಳು/ಡ್ರಾಯಬಲ್ಗಳಿಂದ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಲಾದ ಸಂದರ್ಭಗಳು ಅಥವಾ ಚಟುವಟಿಕೆಗಳ ವಿಶಿಷ್ಟ ಸೋರಿಕೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಇದು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳುವುದು ಯೋಗ್ಯವಾಗಿದೆ ಏನು ಒಂದು View ಅಥವಾ ಒಂದು Drawable ಅವರು ಉಲ್ಲೇಖವನ್ನು ಸಹ ನಿರ್ವಹಿಸುತ್ತಾರೆ Activity ಅವು ಹುಟ್ಟಿಕೊಳ್ಳುವುದರಿಂದ, ಅವುಗಳನ್ನು ಸರಿಯಾಗಿ ಸಂಗ್ರಹಿಸದಿದ್ದರೆ ಎಲ್ಲಾ ಚಟುವಟಿಕೆಗಳು ಮತ್ತು ಅದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಸಂಪನ್ಮೂಲಗಳು ಸೋರಿಕೆಯಾಗಬಹುದು.
ಪರ್ಫೆಟ್ಟೊದ ವಿವರವಾದ ಕುರುಹುಗಳನ್ನು ಡಂಪ್ಸಿಸ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ನೊಂದಿಗೆ ಸಂಯೋಜಿಸುವುದು. (ಇನ್ಪುಟ್, ಗ್ರಾಫಿಕ್ಸ್, ಮೆಮೊರಿ, ನೆಟ್ವರ್ಕ್ ಮತ್ತು ಬ್ಯಾಟರಿ) ಆಂಡ್ರಾಯ್ಡ್ ಅಪ್ಲಿಕೇಶನ್ ಹೇಗೆ ವರ್ತಿಸುತ್ತದೆ ಎಂಬುದರ 360-ಡಿಗ್ರಿ ನೋಟವನ್ನು ಒದಗಿಸುತ್ತದೆ: ಥ್ರೆಡ್ ಅನ್ನು ನಿಗದಿಪಡಿಸಿದಾಗಿನಿಂದ ಫ್ರೇಮ್ ಅನ್ನು ರೆಂಡರ್ ಮಾಡಲು ಎಷ್ಟು ಮಿಲಿಸೆಕೆಂಡ್ಗಳು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಅಥವಾ ಅದು ಎಷ್ಟು ಹೆಚ್ಚುವರಿ ಮೆಮೊರಿ ಮತ್ತು ಶಕ್ತಿಯನ್ನು ಬಳಸುತ್ತದೆ. ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಪರೀಕ್ಷೆಯಲ್ಲಿ ಈ ಪರಿಕರಗಳನ್ನು ನಿಯಮಿತವಾಗಿ ಬಳಸುವುದರಿಂದ "ಹೆಚ್ಚು ಅಥವಾ ಕಡಿಮೆ ಕೆಲಸ ಮಾಡುವ" ಮತ್ತು ಸಾಧಾರಣ ಸಾಧನಗಳಲ್ಲಿಯೂ ಸಹ ನಿಜವಾಗಿಯೂ ದ್ರವ, ಸ್ಥಿರ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಎಂದು ಭಾವಿಸುವ ಅಪ್ಲಿಕೇಶನ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಮಾಡುತ್ತದೆ. Android ಅನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಿ.
