腾讯客户端一面

记录一下不会的内容
1、java的设计原则
2、LinearLayout和FrameLayout的绘制流程有什么区别
    文心一言答案:FrameLayout是从上到下的一个堆叠的方式进行绘制的
                         LinearLayout在两个方向上绘制的布局,绘制的时候按照指定的方向绘制,比FrameLayout要慢
3、如果发现Recyclerview的一些性能问题,应该如何优化?
    1、bindViewHolder方法是在UI线程进行的,如果在该方法进行耗时操作,将会影响滑动的流畅性
    2、减少布局层级,可以考虑使用自定义View来减少层级
    3、RecyclerView数据预处理
    4、加大RecyclerView的缓存
3、相机的旋转是怎么做适配的
    相机旋转后通过CameraCaptureSession.OnConfiguredListener回调函数通知的
    https://blog.csdn.net/wangyantaozzu/article/details/103768142
4、相机预览的适配
    1、根据预览的尺寸,将屏幕的大小根据预览比例调整界面的布局,截取屏幕的部分出来与预览一致
    2、根据预览的尺寸,将TextureView显示时的画布按屏幕进行比例缩放,偏移再展示到TextureView中
    建议第二种
5、camera2与camera1的区别
    1、Camera1只能一次拍摄一张图片,而Camera2支持一次拍摄多张图片
    2、Camera2有CameraCharacteristics实例专门提供相机信息,可以在不开启相机的前提下检查所有相机信息
    3、camera2改进了新硬件的性能,使用更先进的API架构;
    4、可以获取更多的帧(预览/拍照)信息以及手动控制每一帧的参数;
    5、支持调整focus distance, 剪裁预览/拍照图片
    6、支持更多图片格式(yuv/raw);
全部评论
可以通过调用SurfaceView.getLayoutParams().width和SurfaceView.getLayoutParams().height来获取新的预览尺寸,并根据新的尺寸来调整预览界面的显示方向。
点赞 回复 分享
发布于 2023-10-10 11:42 山东

相关推荐

04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务