用JNI时哪些一部分代码用C语言来写

用JNI时哪些部分代码用C语言来写?
小白新手求助!!
最近在看JNI的相关内容,平常所说的JNI作用也都了解了。
但是有一个疑惑就是,
在编程过程中哪些部分代码用C语言来写?
是只有计算部分用C语言来写,然后返还到JAVA中;
还是说所有的比如按钮的监听、TextView的附值等等;
换句话说,JNI可以将全部的JAVA程序用C语言来写吗,然后在JAVA中只是依据调用就可以?

------解决思路----------------------
对性能要求较高的地方 可以用C语言写,比如视频解码,游戏渲染,加密解密等。