我正在编写一个Android应用程序,其中包括:
>生成一个线程,该线程在{Activity} .onResume()执行时将网络套接字绑定到端口42777,并将传入的数据分派到Handler.除非当前没有WLAN适配器与本地(192.168.,10、172.16-31.*)IP地址建立连接…否则,它将显示错误消息,并且不会进一步进行任何 *** 作,直到建立了合适的WLAN连接和ConnectivityManager通知我的听众.
>生成一个线程,该线程从linkedBlockingQueue中获取Runnable,并将其提交给单线程ExecutorService.此时,Runnable基本上通过UDP将数据报广播到255.255.255.255.
>当{Activity} .onPause()执行时,端口42777上的套接字被关闭&释放后,linkedBlockingQueue得到clear()处理,ExecutorService(以及为其提供Runnables的线程)被中断并杀死.并且绑定到套接字的端口有望在下一次{Activity} .onResume()触发并尝试重新打开套接字之前被释放…否则,我将不得不更多地纠缠大鼠的巢,并添加逻辑锤子离开网络堆栈,直到最终释放端口.
什么样的UML图适合记录这样的事情,所以我可以在对类之间如何交互有相当清楚的理解的情况下进行研究?我使用类图已有多年了,但是记录事件链(间接生成线程)和响应Handler事件而生成线程(到目前为止)对我来说是未知的领域.
解决方法:
您将混合使用顺序图和状态图.
>顺序图可以显示在某些情况下如何执行功能.例如.对于第一个示例,您在左侧有实例化线程的主实例(无论其有意义的名称是什么).这将首先调用绑定,侦听传入的数据并将数据分发到Handler.等.您将为不同的场景创建此类SD,您可能会认为图形表示为模型的阅读者增加了价值.最终,您将获得活动图,这些活动图在更高的抽象级别上解释了行为.
>状态图对于传达机器的“先有先后”状态很有用.因此,线程进入连接状态,直到获得端口,然后进入侦听状态,该状态转移到调度等.
请注意,这两个图不是多余的.状态机几乎可以直接转换为代码.还有一些工具可以模拟状态机,这对于复杂的机器最有用.序列图仅显示了场景如何工作的示例.您最终将使用它来进行某种“静态模拟”.在大多数情况下,您需要一组不同的时序图来传达想法.
正如@Ister指出的那样,您将需要适当的类图来显示类模型的静态结构.这是必不可少的,通常是模型的“露点”.我以为这已经存在了:-)
总结以上是内存溢出为你收集整理的适当的UML图以对Android应用程序的线程,网络活动,处理程序等进行建模全部内容,希望文章能够帮你解决适当的UML图以对Android应用程序的线程,网络活动,处理程序等进行建模所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)