抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一个好的App具备哪些特征: UI 动画 不卡顿 界面美观 交互逻辑 内存占用小 空间占用小

背景设计模式(Design pattern):是一套被反复使用、多数人知道的、经过分类编目的、代码设计经验的总结。从定义上看,它涉及到了代码级别,侧重于解决实际的、现实的问题。比如,应该如何如何为不同的商品设计折扣方式,采用策略模式。 框架(Framework):是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是...

ANR 是什么ANR 全称 Application No Response;Android 设计 ANR 的用意,是系统通过与之交互的组件(Activity,Service,Receiver,Provider)以及用户交互(InputEvent)进行超时监控,以判断应用进程(主线程)是否存在卡死或响应过慢的问题。 组件超时系统在通过 Binder 通信向应用进程发送组件消息过 input 事...

基础知识 MotionEvent.getPointerIdBits() View.hasIdentityMatrix():Returns true if the transform matrix is the identity matrix. Recomputes the matrix if necessary. View.getInverseMatrix():Utility method ...

应用可以发送或接收来自系统和其他应用的广播消息。当感兴趣的事件发生时发送这些广播。例如,系统会在各种系统事件发生时发送广播,例如系统启动时或设备开始充电时。应用程序还可以发送自定义广播,例如,通知其他应用程序他们可能感兴趣的内容(例如,一些新数据已下载)。 应用程序可以注册以接收特定广播。发送广播时,系统会自动将广播路由到已订阅接收该特定类型广播的应用程序。 一般来说,广播可以用作跨应用程序...

当一个应用程序组件启动并且该应用程序没有任何其他组件在运行时,Android 系统会为该应用程序启动一个新的 Linux 进程,并使用单线程执行。默认情况下,同一个应用程序的所有组件都运行在同一个进程和线程中(称为“main”线程)。 如果应用程序组件启动并且已经存在该应用程序的进程(因为该应用程序的另一个组件存在),则该组件在该进程内启动并使用相同的执行线程。但是,可以安排应用程序中的不同...

ContentProvider 是什么ContentProvider 可以帮助应用程序管理对自己存储的、由其他应用程序存储的数据的访问,并提供一种与其他应用程序共享数据的方式。它们封装数据,并提供定义数据安全性的机制。 ContentProvider 是将一个进程中的数据与另一个进程中运行的代码连接起来的标准接口。 基础Content URIContent URI 是标识 provider ...

fragment 是什么fragment 代表 app UI 的可重用部分。 fragment 定义和管理自己的布局,有自己的生命周期,并且可以处理自己的输入事件。 fragment 不能独立存在——它们必须由一个 activity 或另一个 fragment 托管。fragment 的 view 层次成为宿主 view 层次的一部分或附加到宿主的 view 层次。 创建 fragme...

AIDL 是什么Android Interface Definition Language (AIDL) 允许定义客户端和服务都同意的编程接口,以便使用进程间通信 (IPC) 相互通信。在 Android 上,一个进程不能正常访问另一个进程的内存。 所以说,他们需要将他们的对象分解为操作系统可以理解的原语,并将对象编组跨越该边界。 注意:仅当允许来自不同应用程序的客户端访问你的 IPC 服务...

Service 是什么Service 是一个App组件,可以在后台执行长时间运行的操作。它不提供用户界面。一旦启动,Service 可能会继续运行一段时间,即使在用户切换到另一个App之后也是如此。此外,组件可以绑定到 Service 以与其交互,甚至执行进程间通信 (IPC)。 例如,Service 可以在后台处理网络事务、播放音乐、执行文件 I/O 或与ContentProvi...