美文网首页
学习记录(20190114)

学习记录(20190114)

作者: Guow110 | 来源:发表于2019-01-14 15:35 被阅读1次
    1. startService 和 bindService 有什么不同?为什么 bindService 能和 Activity 的生命周期联动?
    • 生命周期不同
    • 结束方式不同
    • 交互方式不同
      1. bindService 方法执行时,LoadedApk 会记录 ServiceConnection 信息
      2. Activity 执行 finish 方法时,会通过 LoadedApk 检查 Activity 是否存在未注销/解绑的 BroadcastReceiver 和 ServiceConnection,如果有,那么会通知 AMS 注销/解绑对应的 BroadcastReceiver 和 Service,并打印异常信息,告诉用户应该主动执行注销/解绑的操作
        链接:https://juejin.im/post/5c13cd99e51d4522ad6e74ec

    1. Android 截图功能
     /**
         * 截图
         * @param viewGroup
         * @return
         */
        public Bitmap getViewGroupBitmap(ViewGroup viewGroup) {
            //viewGroup的总高度
            int h = 0;
            Bitmap bitmap;
            // 适用于ListView或RecyclerView等求高度
            for (int i = 0; i < hanziCardScroll.getChildCount(); i++) {
                h += hanziCardScroll.getChildAt(i).getHeight();
            }
    
            // 若viewGroup是ScrollView,那么他的直接子元素有id的话,如下所示:
            // h = mLinearLayout.getHeight();
            // 创建对应大小的bitmap(重点)
            bitmap = Bitmap.createBitmap(hanziCardScroll.getWidth(), h, Bitmap.Config.ARGB_4444);
            Canvas canvas = new Canvas(bitmap);
            hanziCardScroll.draw(canvas);
            return bitmap;
    
        }
    

    相关文章

      网友评论

          本文标题:学习记录(20190114)

          本文链接:https://www.haomeiwen.com/subject/cffjdqtx.html