1."service和activity通信,直接用static变量传递信息,这样看似不是很规范" 在同一个App内可以使用static变量共享这种方式,google更推荐使用使用Application子类进行信息共享,但是跨App访问Service不可以,因为Android应用基于Linux的进程,不同进程间内存空间是隔离的,正确且google推荐的的方式是使用AIDL/IPC
2.
关于Android 使用静态变量,我遇到过的情况是:当应用不处于与当前用户交互的情况时(例如回到HOME,跳到其他应用),离开的时间比较长时,应用的静态变量有可能被置null, 是不保险的