zoukankan      html  css  js  c++  java
  • 如何理解andriod中的View和framelayout两个概念

    View 和 FrameLayout 是包含关系,FrameLayout 继承自ViewGroup,然后继承自View。

    FrameLayout是一种 ViewGroup,可以在里面放其它的View,它的布局方式就是简单的把每个子 View 放到最左上角,这样可以做一些切换、渐变等等效果,当然你可以设置 Gravity 之类的属性来进行布局。

    View就是android的基础视图了,这个没啥好说的了。
     
    service:
    Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 main 线程上运行的。如果是Remote Service,那么对应的 Service 则是运行在独立进程的 main 线程上。因此请不要把 Service 理解成线程,它跟线程半毛钱的关系都没有!

    因此你可以把 Service 想象成一种消息服务,而你可以在任何有 Context 的地方调用 Context.startService、Context.stopService、Context.bindService,Context.unbindService,来控制它,你也可以在 Service 里注册 BroadcastReceiver,在其他地方通过发送 broadcast 来控制它,当然这些都是 Thread 做不到的。
    Service的生命周期:
    onCreate  onStart  onDestroy  onBind
    想要用 startService  启动服务,不管Local 还是 Remote 我们需要做的工作都是一样简单。当然要记得在 Androidmanifest.xml 中注册 service。
     
     
    在 AndroidManifest.xml 里 Service 元素的常见选项

    android:name  -------------  服务类名

    android:label  --------------  服务的名字,如果此项不设置,那么默认显示的服务名则为类名

    android:icon  --------------  服务的图标

    android:permission  -------  申明此服务的权限,这意味着只有提供了该权限的应用才能控制或连接此服务

    android:process  ----------  表示该服务是否运行在另外一个进程,如果设置了此项,那么将会在包名后面加上这段字符串表示另一进程的名字

    android:enabled  ----------  如果此项设置为 true,那么 Service 将会默认被系统启动,不设置默认此项为 false

    android:exported  ---------  表示该服务是否能够被其他应用程序所控制或连接,不设置默认此项为 false

     
     
  • 相关阅读:
    左旋转字符串
    swoole(8)http服务
    整数反转
    两数之和
    广度优先搜索
    快速排序
    JavaScript当中的eval函数
    JavaScript中的作用域链原理
    git push和git pull
    cherry-pick,revert和rebase使用的3-way合并策略
  • 原文地址:https://www.cnblogs.com/hoge/p/5589974.html
Copyright © 2011-2022 走看看