diff --git a/README.md b/README.md index ca3a2e20a..ecd355397 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ (中文版本请参看[这里](#matrix_cn)) -**Matrix** is an APM (Application Performance Manage) used in Wechat to monitor, locate and analyse performance problems. It is a **plugin style**, **no-intrusion** solution on Android. It includes: +**Matrix** is an APM (Application Performance Manage) used in Wechat to monitor, locate and analyse performance problems. It is a **plugin style**, **non-invasive** solution on Android. It includes: - **APK Checker:** - Analyse the APK package, give suggestions of reducing the APK size; Compare two APK and find out the most significant growth + Analyse the APK package, give suggestions of reducing the APK's size; Compare two APK and find out the most significant increment on size - **Resource Canary:** @@ -25,48 +25,48 @@ - **IO Canary:** - Detect the file IO issues, including performance of file io and closeable leak + Detect the file IO issues, including performance of file IO and closeable leak ## Features ### APK Checker -- **Easy-to-use.** Matrix provides a JAR tool, which is more convinient to apply to your integration systems. -- **More features.** In addition to APK Analyzer, Matrix find out the R redundancies, the dynamic libraries statically linked STL, unused resources, and supports custom checking rules. +- **Easy-to-use.** Matrix provides a JAR tool, which is convinient to apply to your integration systems. +- **More features.** In addition to APK Analyzer, Matrix finds out the R redundancies, dynamic libraries statically linking STL, unused resources, and supports custom checking rules. - **Visual Outputs.** supports HTML and JSON outputs. ### Resource Canary -- **Separated detection and analysis.** Make it possible to used in automated test and in release versions (monitor only). -- **Pruned Hprof.** Remove the useless data in hprof and easier to upload. -- **Detection of duplicate bitmap.** +- **Separated detection and analysis.** Makes it possible to be used in automated test and release versions (monitor only). +- **Pruned Hprof.** Remove useless data in hprof and easier to upload. +- **Detection of duplicated bitmap.** ### Trace Canary -- **High performance.** Dynamically modify bytecode at compile time, record function cost and stack with little performance loss. -- **Accurate stack of ui-block.** Provide informations such as stack, function cost, execution times to solve the problem of ui-block quickly. +- **High performance.** Dynamically modify bytecode at compile time, record function cost and call stack with little performance loss. +- **Accurate call stack of ui-block.** Provide informations such as call stack, function cost, execution times to solve the problem of ui-block quickly. - **Non-hack.** High compatibility to Android versions. - **More features.** Automatically covers multiple fluency indicators such as ui-block, startup time, activity switching, slow function detection. ### SQLite Lint -- **Easy-to-use.** No code intrusion. +- **Easy-to-use.** Non-invasive. - **High applicability.** Regardless of the amount of data, you can discover SQLite performance problems during development and testing. -- **High standards.** Detection algorithms based on best practices, make the quality of SQLite statement high quality. -- **May support multi-platform.** C++ implementation make it possible to support multi-platform. +- **High standards.** Detection algorithms based on best practices, make SQLite statements to the highest quality. +- **May support multi-platform.** Implementing in C++ makes it possible to support multi-platform. ### IO Canary -- **Easy-to-use.** No code intrusion. -- **More feature.** Including performance of file io and closeable leak. +- **Easy-to-use.** Non-invasive. +- **More feature.** Including performance of file IO and closeable leak. - **Compatible with Android P.** ## Getting Started -1. Configure Matrix version in gradle.properties. +1. Configure `MATRIX_VERSION` in gradle.properties. ``` gradle MATRIX_VERSION=0.4.7 ``` -2. Add matrix-gradle-plugin in your build.gradle: +2. Add `matrix-gradle-plugin` in your build.gradle: ``` gradle dependencies { classpath ("com.tencent.matrix:matrix-gradle-plugin:${MATRIX_VERSION}") { changing = true } @@ -95,7 +95,7 @@ } ``` -4. Implement PluginListener to receive data processed by Matrix. +4. Implement `PluginListener` to receive data processed by Matrix. ``` java public class TestPluginListener extends DefaultPluginListener { @@ -115,7 +115,7 @@ } ``` -5. Implement DynamicConfig to change parametes of Matrix. +5. Implement `DynamicConfig` to change parametes of Matrix. ``` java public class DynamicConfigImplDemo implements IDynamicConfig { public DynamicConfigImplDemo() {} @@ -152,7 +152,7 @@ } ``` -6. Init Matrix in the onCreate of your application. +6. Init Matrix in the `onCreate` of your application. ``` java Matrix.Builder builder = new Matrix.Builder(application); // build matrix builder.patchListener(new TestPluginListener(this)); // add general pluginListener @@ -178,7 +178,7 @@ You can get more about Matrix output at the wiki [The output of Matrix](https:// ### APK Checker Usage - APK Checker can run independently in Jar mode, usage: + APK Checker can be run independently in Jar mode, usage: ```shell java -jar ApkChecker.jar @@ -225,7 +225,7 @@ Any problem? 1. Learn more from [Sample](https://github.com/Tencent/matrix/tree/dev/samples/sample-android) 2. [Source Code](https://github.com/Tencent/matrix/tree/master) -3. [Wiki](https://github.com/Tencent/matrix/wiki) 或 [FAQ](https://github.com/Tencent/Matrix/wiki/Matrix-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98) +3. [Wiki](https://github.com/Tencent/matrix/wiki) & [FAQ](https://github.com/Tencent/Matrix/wiki/Matrix-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98) 4. Contact us for help ## Contributing