安卓API学习【持续更新中...】

一、Activity类的方法学习

1、Activity继承和实现了哪些类?

public class Activity
extends ContextThemeWrapper implements LayoutInflater.Factory2, Window.Callback, KeyEvent.Callback, View.OnCreateContextMenuListener, ComponentCallbacks2

2、这些的作用是什么?

(1)继承自 ContextThemeWrapper,而他的作用是“允许您修改或替换已包装上下文的主题的上下文包装器。”----该类又继承于ContextWrapper---又继承于抽象类Context【接口到有关应用程序环境的全局信息。这是一个抽象类,它的实现由Android系统提供。它允许访问特定于应用程序的资源和类,以及对应用程序级操作(如启动活动、广播和接收意图等)的向上调用。】--又继承自Object

即Object--->Context(抽象)--->ContextWrapper--->ContextThemeWrapper--->Activity(从而该类便有了前面类的特性)

(2)、实现了LayoutInflater.Factory2,他的作用则是创建视图,已知的子类有AccountAuthenticatorActivityActivityActivityGroupAliasActivityExpandableListActivityLauncherActivityListActivityNativeActivityPreferenceActivityTabActivity

而 LayoutInflater.Factory2自己本身是接口,他实现了LayoutInflater.Factory类。

(3)实现了Window.Callback,他的作用是“从窗口返回到调用者的API。这允许客户端拦截密钥调度、面板和菜单等。”

(4)实现了KeyEvent.Callback,他的作用是事件调用

(5)实现了View.OnCreateContextMenuListener,他的作用是“接口定义,用于在构建此视图的上下文菜单时调用回调。”

(6)实现了 ComponentCallbacks2,他“扩展的ComponentCallbacks接口,带有用于更细粒度内存管理的新回调。此接口可用于所有应用程序组件(活动、服务、ContentProvider和应用程序)。”

您应该实现onTrimMemory(int),以根据当前系统约束增量地释放内存。使用这个回调来释放您的资源有助于提供一个响应更快的系统,但也可以通过允许系统让您的进程保持更长时间的活动,从而直接为您的应用程序带来用户体验。也就是说,如果你不削减你的资源基于内存水平定义为这个回调,该系统更有可能杀死你的过程虽然是最近最少使用(LRU)缓存列表,因此需要应用程序重启和恢复所有状态当用户返回它。

总结:通过以上了解,需要 明确的知道,在Activity中,以上被实现的父类或接口的方法都能使用,使用时需要根据各自特点进行优化编程。

 

posted @ 2020-05-26 11:39  CiscoLee  阅读(239)  评论(0编辑  收藏  举报