If $\mu(X)<\infty$, $f_n\rightarrow0$ in measure, and $\limsup\limits_{n \rightarrow \infty} \int (f_n)^2 < 1$, then $f_n \rightarrow f$ in $L^r$ for all $r \in [1,2)$.
Attempt: We want to show that $\int |f_n|^r \rightarrow 0$. Now, note that $\int |f_n|^r = \int_{|f_n| > 1} |f_n|^r + \int_{\epsilon < |f_n| \leq 1} |f_n|^r + \int_{|f_n| \leq \epsilon} |f_n|^r$. Let's bound each term:
(i) Here, we note that since $\limsup_{n \rightarrow \infty} \int |f_n|^2 < \infty $, then for all $n$ sufficiently large, $\sup_{n \geq N} \int |f_n|^2 < \infty$, so that $(f_n)^{1+\delta}_{n \geq N}$ are uniformly integrable for all $\delta \in [0,1)$, hence uniformly absolutely continuous (by this theorem). But then, since convergence in measure implies that $\mu(|f_n| > 1) \rightarrow 0$, we have that $\int_{|f_n| > 1} f^r \rightarrow 0$ by the uniformly absolutely continuous condition, whenever $r \in [1,2)$.
(ii) $\int_{\epsilon < |f_n| \leq 1} |f_n|^r \leq \mu(|f_n| > \epsilon) \rightarrow 0$ as $n \rightarrow \infty$.
(iii) $\int_{|f_n| \leq \epsilon} |f_n|^r \leq \mu(X) \epsilon^r$.
And since $\epsilon$ is arbitrary, we are done.
Doubts: Is the above argument valid? Is there an alternate method which doesn't involve uniform integrability? In particular, I'm unsure because the argument above works for $\limsup_n \int f_n^2 < \infty$.