安卓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,他的作用则是创建视图,已知的子类有AccountAuthenticatorActivity, Activity, ActivityGroup, AliasActivity, ExpandableListActivity, LauncherActivity, ListActivity, NativeActivity, PreferenceActivity, TabActivity
而 LayoutInflater.Factory2自己本身是接口,他实现了LayoutInflater.Factory类。
(3)实现了Window.Callback,他的作用是“从窗口返回到调用者的API。这允许客户端拦截密钥调度、面板和菜单等。”
(4)实现了KeyEvent.Callback,他的作用是事件调用
(5)实现了View.OnCreateContextMenuListener,他的作用是“接口定义,用于在构建此视图的上下文菜单时调用回调。”
(6)实现了 ComponentCallbacks2,他“扩展的ComponentCallbacks接口,带有用于更细粒度内存管理的新回调。此接口可用于所有应用程序组件(活动、服务、ContentProvider和应用程序)。”
您应该实现onTrimMemory(int),以根据当前系统约束增量地释放内存。使用这个回调来释放您的资源有助于提供一个响应更快的系统,但也可以通过允许系统让您的进程保持更长时间的活动,从而直接为您的应用程序带来用户体验。也就是说,如果你不削减你的资源基于内存水平定义为这个回调,该系统更有可能杀死你的过程虽然是最近最少使用(LRU)缓存列表,因此需要应用程序重启和恢复所有状态当用户返回它。
总结:通过以上了解,需要 明确的知道,在Activity中,以上被实现的父类或接口的方法都能使用,使用时需要根据各自特点进行优化编程。