简介:Generates a Java Object for your xml layout to reduce inflate time to zero
更多:作者   提 Bug   

Generates a Java Object for your xml layout to reduce inflate time to zero

This projects methodcount is very low, because everything happens on compile time.

Add the dependencies

main build.gradle

buildscript {
    repositories {
    dependencies {
        classpath 'io.fabianterhorst:fastlayout-gradle-plugin:0.0.2-alpha37'

app build.gradle

apply plugin: 'fastlayout'

First create your layout java class

This is needed to filter the layouts you want to compile

//this is compiling all layouts in layout folder
@Layouts(all = true, exclude = {R.layout.sample_item})
//there you can specify the layouts
//@Layouts(layouts = {"activity_main", "fragment_one"})
//@Layouts(ids = {R.layout.activity_main, R.layout.fragment_one})
//this is needed when you want to use the class fields
public class AppLayouts {

Now use the layout inside your Activity for example

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        //when you don´t wanna use the cache you can also just initiate the object
        //setContentView(new ActivityMainLayout(this));
        //The cache is reusing the object to improve the performance
        ActivityMainLayout layout = LayoutCache.getInstance().getLayout(context, LayoutCache.Activity_Main_Layout);


Specify a id for every view, otherwise the id is generated and can change.

Android 开发经验分享
Android 开发经验分享