[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7206":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},7206,"litho","facebook\u002Flitho","facebook","A declarative framework for building efficient UIs on Android.","https:\u002F\u002Ffblitho.com",null,"Kotlin",7770,762,179,60,0,3,8,39.65,"Apache License 2.0",false,"master",true,[],"2026-06-12 02:01:36","# Litho [![GithubCI](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Flitho\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Flitho\u002Factions\u002Fworkflows\u002Fci.yml) [![Bintray](https:\u002F\u002Fimg.shields.io\u002Fmaven-metadata\u002Fv\u002Fhttps\u002Fjcenter.bintray.com\u002Fcom\u002Ffacebook\u002Flitho\u002Flitho-core\u002Fmaven-metadata.xml.svg?color=orange&label=bintray)](https:\u002F\u002Fbintray.com\u002Ffacebook\u002Fmaven\u002Fcom.facebook.litho%3Alitho-core\u002F_latestVersion) [![Join the chat at https:\u002F\u002Fgitter.im\u002Ffacebook\u002Flitho](https:\u002F\u002Fbadges.gitter.im\u002Ffacebook\u002Flitho.svg)](https:\u002F\u002Fgitter.im\u002Ffacebook\u002Flitho?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Flitho\u002Fblob\u002Fmaster\u002FLICENSE)\n\n\u003Cimg src=\"website\u002Fstatic\u002Flogo.png\" width=150 align=right>\n\nLitho is a declarative framework for building efficient UIs on Android.\n\n* **Declarative:** Litho uses a declarative API to define UI components. You simply describe the layout for your UI based on a set of immutable inputs and the framework takes care of the rest.\n* **Asynchronous layout:** Litho can measure and layout your UI ahead of time without blocking the UI thread.\n* **View flattening:** Litho uses [Yoga](https:\u002F\u002Fwww.yogalayout.dev\u002F) for layout and automatically reduces the number of ViewGroups that your UI contains.\n* **Fine-grained recycling:** Any component such as a text or image can be recycled and reused anywhere in the UI.\n\nTo get started, check out these links:\n\n* [Learn how to use Litho in your project.](http:\u002F\u002Ffblitho.com\u002Fdocs\u002Fgetting-started)\n* [Get started with our tutorial.](http:\u002F\u002Ffblitho.com\u002Fdocs\u002Ftutorial)\n* [Read more about Litho in our docs.](http:\u002F\u002Ffblitho.com\u002Fdocs\u002Fintro)\n\n## Installation\nLitho can be integrated either in Gradle or Buck projects. Read our [Getting Started](http:\u002F\u002Ffblitho.com\u002Fdocs\u002Fgetting-started) guide for installation instructions.\n\n## Quick start\n### 1. Initialize `SoLoader` in your `Application` class.\n```java\npublic class SampleApplication extends Application {\n  @Override\n  public void onCreate() {\n    super.onCreate();\n    SoLoader.init(this, false);\n  }\n}\n```\n### 2. Create and display a component in your Activity\n```java\n@Override\npublic void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n\n    final ComponentContext c = new ComponentContext(this);\n\n    final Component component = Text.create(c)\n        .text(\"Hello World\")\n        .textSizeDip(50)\n        .build();\n\n    setContentView(LithoView.create(c, component));\n}\n```\n## Run sample\nYou can find more examples in our [sample app](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Flitho\u002Ftree\u002Fmaster\u002Fsample).\n\nTo build and run (on an attached device\u002Femulator) the sample app, execute\n\n    $ buck fetch sample\n    $ buck install -r sample\n\nor, if you prefer Gradle,\n\n    $ .\u002Fgradlew :sample:installDebug\n\n## Contributing\n\nBefore contributing to Litho, please first read the [Code of\nConduct](https:\u002F\u002Fcode.facebook.com\u002Fcodeofconduct) that we expect\nproject participants to adhere to.\n\nFor pull requests, please see our [CONTRIBUTING](CONTRIBUTING.md) guide.\n\nSee our [issues](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Flitho\u002Fissues\u002F) page for ideas on how to contribute or to let us know of any problems.\n\nPlease also read our [Coding Style](http:\u002F\u002Ffblitho.com\u002Fdocs\u002Fbest-practices#coding-style) and [Code of Conduct](https:\u002F\u002Fcode.facebook.com\u002Fcodeofconduct) before you contribute.\n\n## Getting Help\n\n- Post on [StackOverflow](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Flitho)\n  using the `#litho` tag.\n- Chat with us on [Gitter](https:\u002F\u002Fgitter.im\u002Ffacebook\u002Flitho).\n- Join our [Facebook Group](https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002Flitho.android\u002F) to\n  stay up-to-date with announcements.\n- Please open GitHub issues only if you suspect a bug in the framework or have a\n  feature request and not for general questions.\n\n## License\n\nLitho is licensed under the [Apache 2.0 License](LICENSE).\n","Litho 是一个用于在 Android 上构建高效用户界面的声明式框架。它通过声明式 API 定义 UI 组件，允许开发者基于一组不可变输入描述布局，框架则负责其余工作，从而简化了开发流程。Litho 支持异步布局计算，可以在不阻塞 UI 线程的情况下提前完成测量与布局；利用 Yoga 进行布局优化，自动减少视图层次结构中的 ViewGroup 数量；同时实现了细粒度的组件回收机制，使得文本或图片等元素可以被重复利用。这些特性使 Litho 特别适用于需要处理复杂且动态变化的数据展示场景，如新闻流、社交应用的信息列表等，能够显著提升应用性能和用户体验。",2,"2026-06-11 03:11:08","top_language"]