`

android培训文档提纲(一)

阅读更多
最近项目快要进入开发阶段了,杂七杂八的事情比较多,另外还要兼顾一下android的培训和struts2的源码,有点忙不过来了,要多努力才行

这2天在准备android的培训文档,其实就是把《Android in action》上的要点归纳一下,之前做技术预研的时候买了几本android相关的书,感觉这本最好,虽然配套的代码差一些,所以就打算主要用这本书做培训材料了

只是把书里的要点摘要出来,作为培训内容的提纲,所以就不往论坛上帖了,免得被人投了隐藏,大家太喜欢投隐藏了,哎

1、内置应用和开发的应用,没有区别

2、Linux Kernel --> Dalvik VM --> Applications

3、Kernel: 硬件抽象层,同时提供了进程、内存、文件系统管理等核心服务

   Runtime: Dalvik VM,运行时环境

   Code libraries: 浏览器、数据库、绘图、影音

   Managers: Activities、Views、Telephony等管理器

   Hardware --> Linux Kernel --> Runtime & Libraries --> Application Managers --> Applications

4、Android基于Linux Kernel,运行在Dalvik VM里

5、四种核心组件:Activity、Service、Provider、Receiver

6、A best practice is to launch Services on a periodic or as-needed basis, triggered by a system alarm, and then have the Service terminate when its task is complete

7、在manifest.xml文件里注册的Receiver组件,不需要应用启动,就可以被触发

8、每个Android Application跑在一个单独的进程里

9、在OS资源短缺的时候,Application所在的进程,有可能会被kill,不同状态的进程的优先级有区别

10、android应用不是跑在jvm里,而是跑在Dalvik VM里,所有java字节码要转换成.dex文件格式

11、strings这些资源也是被编译成binary

12、You can define layout and views directly in code or in a layout XML resource file

13、you don’t have to use an XML file at all; instead, you can define all your layout and View configuration directly in code, as Java objects. This technique is used in applications where a dynamic GUI is required. Generally speaking, it’s often easier (and better practice) to use an XML layout resource for each Activity. An XML layout file defines View objects, organized into a hierarchical tree structure. After they’re defined in relation to the parent layout,each view can then be inflated at runtime

14、Android employs a handy adapter concept used to link views that contain collections with an underlying data source

15、An Adapter is a collection handler that returns each item in the collection as a View

16、Every process running on the Android platform is placed on a stack. When you use an Activity in the foreground, the system process that hosts that Activity is placed at the top of the stack, and the previous process (the one hosting whatever Activity was previously in the foreground) is moved down one notch

17、It decides which ones to get rid of based on a simple set of priorities:
1 The process hosting the foreground Activity is the most important.
2 Any process hosting a visible but not foreground Activity is next in line.
3 Any process hosting a background Activity is next in line.
4 Any process not hosting any Activity (or Service or BroadcastReceiver) is known as an empty process and is last in line.

18、adb shell dumpsys activity

19、If the process your Activity is in falls out of the foreground, it’s eligible to be killed and it’s not up to you; it’s up to the platform’s algorithm, based on available resources and relative priorities

20、
1 onCreate()
Called when the Activity is created. Setup is done here. Also provided is access to any previously stored state in the form of a Bundle
2 onRestart()
Called if the Activity is being restarted, if it’s still in the stack, rather than starting new
3 onStart()
Called when the Activity is becoming visible on the screen to the user
4 onResume()
Called when the Activity starts interacting with the user (This method is always called, whether starting or restarting)
5 onPause()
Called when the Activity is pausing or reclaiming CPU and other resources. This method is where you should save state information so that when an Activity is restarted, it can start from the same state it was in when it quit
6 onStop()
Called to stop the Activity and transition it to a nonvisible phase and subsequent
lifecycle events
7 onDestroy()
Called when an Activity is being completely removed from system memory. This method is called either because onFinish() is directly invoked or the system decides to stop the Activity to free up resources

21、it’s important to know that onPause() is the last opportunity you have to clean up and save state information. The processes that host your Activity classes won’t be killed by the platform until after the onPause() method has completed, but they might be killed thereafter

22、The system will attempt to run through all of the lifecycle methods every time, but if resources are spiraling out of control, as determined by the platform, a fire alarm might be sounded and the processes that are hosting activities that are beyond the onPause() method might be killed at any point

23、In addition to persistent state, you should be familiar with one more scenario: instance state. Instance state refers to the state of the UI itself. The onSaveInstanceState()method is called when an Activity might be destroyed, so that at a future time the interface state can be restored

24、耗时比较多的工作,应该在UI Thread之外完成,实现的方法是使用Handler类

25、android支持自定义View组件

26、In Android, screen layout is defined in terms of ViewGroup and
LayoutParams objects. ViewGroup is a View that contains other views (has children) and also defines and provides access to the layout
分享到:
评论

相关推荐

    软件项目开发的全套文档提纲模板

    "软件项目开发的全套文档提纲模板"旨在提供一个结构化的框架,帮助开发者和项目经理有效地组织和编写各种必要的文档。以下是对这个提纲模板中可能包含的主要知识点的详细解释: 1. **项目启动文档**: - 项目背景...

    软件项目开发的全套文档提纲.rar

    软件项目开发的全套文档提纲 软件项目开发的全套文档提纲\项目开发总结报告(GB8567——88).doc 软件项目开发的全套文档提纲\用户手册(GB8567——88).doc 软件项目开发的全套文档提纲\操作手册(GB8567——88)....

    软件项目开发的全套文档提纲

    以下是对"软件项目开发的全套文档提纲"的详细解释: 1. **项目启动文档 (Project Initiation Document, PID)** - PID是项目的起点,它定义了项目的目标、范围、预期成果以及初步的时间线和预算。 2. **需求分析...

    软件开发项目文档提纲参考

    软件开发项目文档的应用是非常广泛的,例如,软件开发项目文档可以作为项目团队的参考文档,软件开发项目文档可以作为项目团队与客户之间的交流工具,软件开发项目文档可以作为项目团队的培训文档等。 软件开发项目...

    android底层提纲

    Android是一个基于Linux内核的操作系统,它包含了多个层次,从低到高分别是:Linux内核、HAL(硬件抽象层)、系统库、应用程序框架和应用程序。这个提纲主要关注的是底层部分,特别是针对ARM平台的Android移植与驱动...

    项目开发的全套文档提纲doc

    "项目开发的全套文档提纲doc"涵盖了项目从启动到结束各个阶段所需的主要文档,旨在为团队提供清晰的指导和结构化的工作流程。以下是这套文档提纲中所包含的知识点详解: 1. 可行性研究报告:这是项目启动阶段的第一...

    Intel多核培训提纲

    清华大学培训班培训提纲清华大学培训班培训提纲清华大学培训班培训提纲清华大学培训班培训提纲

    软件项目开发全套文档提纲

    "软件项目开发全套文档提纲"涵盖了软件工程中的各个重要阶段,旨在提供一个清晰、系统化的指导框架,以帮助团队成员理解项目的整体结构和各个阶段的目标。以下是对这套文档模板各部分的详细解释: 1. **项目启动...

    《高管财务知识培训》提纲.pdf

    《高管财务知识培训》提纲主要涵盖了财务报表的...综上所述,这个培训提纲旨在为高管提供一个全面的财务知识框架,通过深入理解财务报表,掌握关键财务指标,以及有效识别和管理风险,提升企业的财务管理能力和绩效。

    垃圾分类培训提纲.doc

    垃圾分类培训提纲.doc

Global site tag (gtag.js) - Google Analytics