Android应用开发基本知识点汇总

Android应用开发基本知识点汇总Android应用开发基本知识点汇总Activity一生命周期4种状态running/paused/stopped/killed生命周期Activity启动onCreate->onStart->onResume点Home返回主界面onPause->onStop再次回到原ActivityonRestart->onStart->onResume退出ActivityonPause->onStop->onDestroy进程优先级前台/可见/服务/后台/空二任务栈三启动模式standardsingleTop栈顶复用singleTask栈内复用singeInstance四scheme跳转协议服务器可以定制化告诉App跳转哪个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面Fragment一第五大组件为什么是第五大组件Fragment相对Activity更节省内存,切换更舒适Fragment加载到Activity的两种方式静态加载xml动态加载fragmentTransaction.add(id,fragment,“name”);mit;FragmentPagerAdapter与FragmentStatePagerAdapterFragmentStatePagerAdapter在切换时回收内存,适合页面较多的情况FragmentPagerAdapter并没有回收内存,只是detach了Activity二生命周期onAttach->onCreate->onCreateView->onViewCreated->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->onDestroy->onDetach先创建Activity后创建Fragment,先销毁Fragment后销毁Activity三Fragment之间的通信Fragment调用ActivitygetActivityActivity调用Fragment接口回调Fragment调用Fragment方法findFragmentById四FragmentManagerreplaceaddremoveService一应用场景,与Thread区别Service是什么后台长时间运行,没有用户界面,运行在主线程,不能有耗时操作Service与Thread区别Activity难以与Thread交互,尤其当Activity销毁以后二开启Service的两种方式StartServiceonCreate->onStartCommand->onBind->onDestroyonStartCommandreturnSTART_STICKY;startService(intent);stopService(intent);BindServiceBroadcast一广播定义场景可在同一个App多个进程间消息传递,可在不同App间消息传递种类Normal,System有序广播,Local本地广播二实现方式静态注册注册完一直运行动态注册跟随Activity生命周期三实现机制四本地广播LocalBroadcastManager由于之前的广播都是全局的,所有应用程序都可以接收到,这样就很容易会引起安全性的问题,比如说我们发送一些携带关键性数据的广播有可能被其他的应用程序截获,或者其他的程序不停地向我们的广播接收器里发送各种垃圾广播。为了能够简单地解决广播的安全性问题,Android引入了一套本地广播机制,使用这个机制发出的广播只能够在应用程序的内部进行传递,并且广播接收器也只能接收来自应用程序发出的广播,这样所有的安全性问题就都不存在了。异步消息处理Handler子线程发送消息,让主线程更新UIhandler使用方法post(runnable)与sendMessage(message)handler内存泄漏解决办法:1.handler改为静态内部类2.handler内部持有Activity外部弱引用3.mHandler.removeCallback()HandlerThread多次创建销毁线程很耗费系统资源本质上是线程,继承自Thread,同时自己内部拥有Looper对象,可以进行Looper循环串行队列,不能同时多任务处理,需要等待handlerThread=handler+thread+looperAsyncTask本质上封装了线程池和Handler传入三个参数xxxAsyncTaskextendsAsyncTask使用参数,进度参数,结果参数onPreExecute在UI线程里执行doInBackground返回参数传给onPostExecute,中间publishProgress(i)中的参数传给onProgressUpdateonProgressUpdate在UI线程里执行onPostExecute在UI线程里执行xxxAsyncTask.cancel()并行or串行?为了线程池稳定,系统默认串行,一般建议串行,用xxxAsyncTask.executeOnExecutor执行并行IntentServiceIntentService是串行的onHandleIntent执行耗时操作IntentService内部封装了HandlerThread框架,利用HandlerThread进行异步消息传递WebViewAPI16之前,没有限制WebVieaddJavascriptInterface(),攻击者利用反射可执行任意Java对象的方法。onDestroy销毁WebView时,先要从父视图里removeWebView,再调用WebVieremoveAllViews()和WebViedestroy(),避免内存泄漏,WebView中的Context使用弱引用。jsbr...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?